【问题标题】:SOQL query using LIKE and string list使用 LIKE 和字符串列表的 SOQL 查询
【发布时间】:2021-12-25 12:53:02
【问题描述】:

我使用 python 分析来自 salesforce 的数据,并正在搜索用户名中包含“Jack”、“Jones”或“Jill”的记录。我目前的非理想解决方案是:

sf.query(format_soql("SELECT Id, Email FROM Contact WHERE (Name LIKE '%Jones%' OR Name LIKE '%Jones%' OR Name LIKE '%Jill%'))

我有一个示例 here 并设法使以下示例正常工作:

sf.query(format_soql("SELECT Id, Email FROM Contact WHERE Name LIKE '{:like}%'", 'Jones'))

但是,我无法传递字符串列表,例如:

str_list = ['Jack', 'Jones', 'Jill']

有没有办法将列表传递给 SOQL 查询本身?

谢谢,
T

【问题讨论】:

    标签: python salesforce soql


    【解决方案1】:

    我认为 SOQL 没有办法做到这一点,但您可能会发现 Salesforce 的其他查询语言 SOSL 在这里更有用。

    供您使用,生成的查询将如下所示:

    FIND {Jack OR Jone OR Jill} IN ALL FIELDS RETURNING Lead(Name,FirstName,LastName ), Contact(FirstName,LastName )
    

    所以你应该能够将你的列表操作成上面的表格。

    对于您正在使用的 Simple Salesforce 库,您需要使用 search() 方法来执行 SOSL 查询

    sf.search(<query string>)
    

    SOSL 文档链接:https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_sosl_intro.htm

    【讨论】:

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