2

我正在尝试编写一个单一的 soql 查询来获取所有联系人和带有特定电子邮件的潜在客户。现在,我可以编写两个不同的查询来搜索联系人和潜在客户。但这是否可以使用单个查询(搜索多个对象)。

我正在寻找单个查询的原因是,我在 javascript 中使用 salesforce REST API,我不希望两个单独的联系人和潜在客户搜索请求。

4

3 回答 3

3

SOQL 不允许像 SQL 那样的 UNION 语句,因此(目前)无法在一个查询中执行此操作。

由于您希望减少您的请求,您可以创建一个Apex 网络服务,然后您可以从您的 javascript 代码中调用它。Apex 部分将执行您的两个 SOQL 语句,然后返回结果。这仍然是两个查询,但在一个请求中完成。我不能确定使用这种方法是否会提高性能,这取决于许多因素。但这是你可以试验的东西。希望这可以帮助。

于 2012-04-24T15:36:38.030 回答
2

谢谢亚当。这绝对是一条路。但我只是尝试了 SOSL 而不是 SOQL,workbench.developerforce.com 对我的查询有很大帮助。我能够触发一个简单的 SOSL 查询来搜索 Lead 和 Contact 对象。查询是

FIND {test@email.com} IN EMAIL FIELDS RETURNING Contact, Lead
于 2012-04-24T16:58:55.213 回答
1

SOSL 与 SOQL 有不同的限制和问题。对于这种情况,它看起来是最好的选择,但您应该知道两者之间的区别。每当我需要从多个对象类型中搜索文本字段时,我都会考虑使用 SOSL。但始终牢记限制。

于 2012-04-28T18:26:38.640 回答