【问题标题】:SOQL query for getting contacts and leads by email通过电子邮件获取联系人和潜在客户的 SOQL 查询
【发布时间】:2012-04-24 08:56:20
【问题描述】:

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

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

【问题讨论】:

    标签: salesforce soql


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      FIND {test@email.com} IN EMAIL FIELDS RETURNING Contact, Lead
      

      【讨论】:

      • 我没有想到 SOSL,但这绝对是一个选择。这是文档salesforce.com/us/developer/docs/api_rest/…
      • 之前的解决方案假定联系人和潜在客户共享同一个电子邮件。在实践中,公司可能有不同的电子邮件(个人和专业)。潜在客户对象是一个棘手的对象,在您的特定组织中,潜在客户和联系人的关联方式可能不止一种。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-02
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多