2012-04-24 68 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

相关问题