我想在加入名稱字段的兩個自定義對象上創建一個連接。通常,連接需要兩個對象之間的查找或主從關係,但我只想進行文本匹配。查詢在名稱字段上加入的兩個自定義對象
我認爲這是Salesforce的限制,但我無法找到任何文檔是否如此。任何人都可以確認嗎?
我想在加入名稱字段的兩個自定義對象上創建一個連接。通常,連接需要兩個對象之間的查找或主從關係,但我只想進行文本匹配。查詢在名稱字段上加入的兩個自定義對象
我認爲這是Salesforce的限制,但我無法找到任何文檔是否如此。任何人都可以確認嗎?
是的,只有存在關係時,纔可以進行連接(帶點符號或子查詢)。而關係(查找或主 - 細節)只能由Id進行。有幾個「突變字段」(如Task.WhoId),但一般來說,您不能在SOQL中編寫JOIN,並且肯定不能使用文本列作爲外鍵。
關係查詢是不一樣的SQL連接。您必須在對象之間有一個 關係才能在SOQL中創建連接。
雖然有一些解決方法。爲什麼你需要加入?
Apex/SOQL - 例如看看SOQL in apex - Getting unmatched results from two object types。不是世界上最漂亮的東西,但它有效。如果你想嘗試一些非常瘋狂的東西 - SOSL會同時搜索你的2個物體?
報告 - 你應該沒有問題,通過文本字段分組 - 這意味着joined report可能會給你造成你之後。由於Winter'13加入報告使圖表和出口,那是相當的限制因素...
的數據之間的聯繫,建立簡單 - 使用外部ID和更新插入操作,特別是如果你打算從外面SF加載數據容易。檢查我的答案Can I insert deserialized JSON SObjects from another Salesforce org into my org?
唯一性約束 - 按要求&獨特的你仍然可以標記字段。
檢查允許值的「字典」 - 驗證規則VLOOKUP可能會做你以後的事情。
感謝您的詳細信息。我有幾個使用Name字段作爲外部系統的外鍵的自定義對象。我最終使用的解決方案就像在SOIL in apex中的建議一樣 - 從兩種對象類型中獲得無與倫比的結果 –