这是我的SOQL问题。
查询1:
Select
c.Date_Joined__c,
c.Email,
c.FirstName,
c.LastName,
c.regcode__c
from Contact c WHERE c.regcode__c ='XXXXXXXXX'
查询2:
Select
p.Account__c,
p.Date__c,
p.Points__c,
p.Description__c,
p.Code__c
from Points__c p where p.Account__c ='YYYYYYYYYYYY' and (p.Points__c > 0)
Order by p.Date__c DESC
两个查询之间的关系是c.regcode__c
与p.Code__c
具有相同的值。
我想结合 Query1 和 Query2 ,以便c.regcode__c = p.Code__c
我被困了,我似乎无法获得SOQL的语法。 甚至可以在API中进行连接吗?
答案 0 :(得分:9)
您无法真正创建连接本身,但您可以使用类似于此的语法进行一些过滤:
SELECT Id FROM Contact WHERE c.RegCode__c IN (SELECT p.Code__c FROM Account)
只要WHERE
子句中的子查询只返回单个值,而代码是可过滤的字段,这应该有效。此外,如果您尝试按同一对象(即帐户到帐户)进行过滤,则此操作无效。您可以向帐户端添加更多条件以匹配您的示例查询。
同样,这不是真正的连接,因此您无法从子查询中添加帐户字段。但你至少可以过滤你的联系人。