简体   繁体   English

如何在 SOQL 中执行 LEFT JOIN

[英]How to perform a LEFT JOIN in SOQL

I have a query in SQL that I want to convert to SOQL.我在 SQL 中有一个查询,我想将其转换为 SOQL。 I know that a LEFT JOIN is not possible in SOQL.我知道 LEFT JOIN 在 SOQL 中是不可能的。 But I don't how to write this in SOQL.但我不知道如何在 SOQL 中编写它。

I want to check Cases without Decision__c.我想检查没有 Decision__c 的案例。 There is a Lookup relation between Case(Id) and Decision__c (Case__c). Case(Id) 和 Decision__c (Case__c) 之间存在 Lookup 关系。

That would be in SQL:那将是 SQL:

Select Id FROM Case LEFT JOIN Decision__c D on D.Case__c = Case.Id WHERE Case__c IS NULL Select Id FROM Case LEFT JOIN Decision__c D on D.Case__c = Case.Id WHERE Case__c IS NULL

I exported all Cases (Case) and all Decisions (Decision__c) to Excel. With a VLOOKLUP I connected the Case with the decision.我将所有案例 (Case) 和所有决策 (Decision__c) 导出到 Excel。通过 VLOOKLUP,我将案例与决策相关联。 An error = no linked decision.错误 = 没有关联的决定。

I exported the objects in PowerQuery and performed a left join to merge the two queries.我在 PowerQuery 中导出对象并执行左连接以合并两个查询。 Those with no decision where easily filtered (null value).那些没有决定的人很容易被过滤掉(空值)。

So I got my list of Cases without Decision, but I want to know if I can get this list with a SOQL query, instead of these extra steps.所以我得到了没有决定的案例列表,但我想知道我是否可以通过 SOQL 查询而不是这些额外的步骤来获得这个列表。

To simply put it, you must, literally, select cases without Decision__c, the query should look like this:简单地说,你必须,从字面上看,select 个案例没有 Decision__c,查询应该是这样的:

SELECT Id FROM Case WHERE Id NOT IN(SELECT Case__c FROM Decision__c) SELECT Id FROM Case WHERE Id NOT IN(SELECT Case__c FROM Decision__c)

Although we don't JOINs in Salesforce we can use several "subqueries" to help filter records.虽然我们没有在 Salesforce 中加入 JOIN,但我们可以使用几个“子查询”来帮助过滤记录。

refer to the following link: https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select.htm参考以下链接: https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select.htm

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM