SQL-关于Salesforce表的问题-与任务链接事件

问题描述 投票:0回答:1

salesforce_event中,我们有created_dateaccount_idwho_id。在salesforce_task中,我们有created_dateclose_dateaccount_idwho_id

eventtask可以在account_id(如果有)或who_id上连接。因此,看起来将需要保留2个左联接。

我想获得事件 created_date任务 created_date之间的日期,如果任务 close_date事件的最近30天内已创建。

有没有一种有效的方法来实现这一目标?我所拥有的在下面,并且一直在运行,而且似乎也不正确]

select 
se.id,
min(se.created_date) - min(coalesce(st1.close_date,st.close_date))
from salesforce_event se
left join salesforce_task st on se.who_id = st.who_id and st.close_date  >= se.created_date - 30 and st.close_date <= se.created_date
left join salesforce_task st1 on se.account_id = st1.account_id and  st1.close_date  >= se.created_date - 30 and st1.close_date <= se.created_date group by 1

谢谢!

sql salesforce amazon-redshift correlated-subquery
1个回答
0
投票
SELECT se.id, se.created_date - st.close_date FROM salesforce_event AS se LEFT JOIN salesforce_task AS st ON (se.account_id = st.account_id OR se.who_id = st.who_id) AND st.close_date >= se.created_date - 30
© www.soinside.com 2019 - 2024. All rights reserved.