2012-04-24 35 views
1

我正在嘗試編寫一個soql查詢來獲取所有聯繫人和潛在客戶的特定電子郵件。現在,我可以編寫兩個不同的查詢來搜索聯繫人和潛在客戶。但是,這可能使用單個查詢(搜索多個對象)。通過電子郵件獲取聯繫人和潛在客戶的SOQL查詢

我正在尋找單個查詢的原因是,我在JavaScript中使用salesforce REST API,我不想要兩個單獨的請求進行聯繫和主導搜索。

回答

2

謝謝亞當。這絕對是一種方式。但我只是嘗試了SOSL而不是SOQL,workbench.developerforce.com幫助我試驗了我的查詢......我能夠發起一個簡單的SOSL查詢來搜索Lead和Contact對象。查詢是

FIND {[email protected]} IN EMAIL FIELDS RETURNING Contact, Lead 
+1

我沒有想到SOSL,但那絕對是一種選擇。以下是文檔http://www.salesforce.com/us/developer/docs/api_rest/index_Left.htm#StartTopic=Content/resources_search.htm – 2012-04-24 18:34:18

+0

以前的解決方案假定聯繫人和潛在客戶共享同一封電子郵件。在實踐中,公司可以有不同的電子郵件(個人和專業)。 Lead Sobject是一個棘手的問題,在特定組織中可能有更多的方式讓主角和聯繫人鏈接在一起。 – 2017-04-10 03:25:13

3

SOQL不允許像SQL這樣的UNION語句,所以沒有辦法(currently)在一個查詢中執行此操作。

既然您正在尋找減少請求,您可以創建一個Apex web service,然後您可以從您的JavaScript代碼調用。 Apex部分將執行您的兩條SOQL語句,然後返回結果。這將仍然是兩個查詢,但在一個請求內完成。我無法確定使用這種方法是否會提高性能,這取決於很多因素。但這是你可以嘗試的東西。希望這可以幫助。

1

SOSL有不同的限制和問題比SOQL。對於這種情況,它看起來像是最好的選擇,但你應該知道兩者之間的差異。無論何時我需要在多個對象類型的文本字段中搜索,我都會考慮使用SOSL。但請始終記住極限。

+0

感謝您的領導。請記住這些限制.. – Aravind 2012-04-30 08:01:24

相關問題