Salesforce SOQL是否能够以mysql风格进行自连接?
是否可以使用表别名进行自联接?假设我是一家书店,我想让所有上周和本周购买了一本书的顾客都来。在MySQL中,这看起来像这样:Salesforce SOQL是否能够以mysql风格进行自连接?,salesforce,apex,self-join,soql,Salesforce,Apex,Self Join,Soql,是否可以使用表别名进行自联接?假设我是一家书店,我想让所有上周和本周购买了一本书的顾客都来。在MySQL中,这看起来像这样: SELECT Account.id from Opportunity o1, Opportunity o2 WHERE o1.closeDate = Last_WEEK AND o2.closeDate = This_WEEK AND o1.Account = o2.Account MySQL中的等价物是什么?这让我一直感到困惑。您不
SELECT Account.id from Opportunity o1, Opportunity o2
WHERE o1.closeDate = Last_WEEK AND o2.closeDate = This_WEEK
AND o1.Account = o2.Account
MySQL中的等价物是什么?这让我一直感到困惑。您不能在SOQL中将一个Opportunity帐户Id与另一个进行比较(
o1.Account=o2.Account
)。如果您尝试,您将收到以下信息:
仅在Apex代码中允许绑定变量
相反,如果您重新编写SOQL以使用子查询,您将得到一个不同的错误
SELECT AccountId from Opportunity o1
where o1.closeDate = LAST_WEEK
AND o1.Account in
(SELECT AccountId from Opportunity o2 WHERE o2.closeDate = THIS_WEEK)
给出:
内部和外部选择不应位于同一对象类型上
您需要: