是的,使用 WHERE 子句,您可以将相关列表“向下”仅 1 级,看起来您需要 2 级。
几个想法。
你能分两步做吗?首先select Account_vod__c from EM_Attendee_vod__c...
,然后将结果传递给第二个查询。
看看您是否可以通过使用汇总汇总字段来消除某个级别- 但在这种情况下可能会很棘手,可能无法汇总 2020 年的所有付款。
看看你是否可以运行一个接近你需要的报告(即使它只抓取这些Account_vod__c
),你可以使用“报告快照” - 将报告的中间结果保存在帮助程序自定义对象中。这样可以更容易查询。
看看你是否可以通过 "up" 来运行查询。例如Account_vod__c
是一个真正的查找/主详细信息,您可以尝试使用类似的东西
select Account_vod__r.External_ID_vod__c, Account_vod__r.FirstName, Account_vod__r.LastName, Account_vod__r.Middle_vod__c
from EM_Attendee_vod__c
WHERE Id IN (SELECT Incurred_Expense_Attendee_vod__c
FROM Expense_Header_vod__c
where CALENDAR_YEAR(CreatedDate) > 2020 and Status_vod__c = 'Paid_in_Full_vod')
这并不完美,如果他们有多个与会者,它会给你重复的帐户,但它可以工作得很好。在紧要关头,您总是可以尝试使用 a 对其进行重复数据删除GROUP BY Account_vod__r.External_ID_vod__c, Account_vod__r.FirstName, Account_vod__r.LastName, Account_vod__r.Middle_vod__c
(尽管 GROUP BY 不喜欢超过 200 个结果……如果您希望最多有 2K 个帐户,则可以使用 LIMIT + OFFSET作弊)