我有以下三个表
事件-EventId,AccountId和其他一些列
MasterEvents-MasterEventid,EventId,AccountId
互动表-InteractionId,AccountId
现在,事件表的所有条目将在MasterEvents表中具有一个条目。交互表中的所有内容也将出现在masterevents表中。 但是,并非所有来自事件表的条目都会有一个进入交互表的条目。
我需要从事件表中获取所有记录以及它们各自的交互(如果存在), 我有以下查询。
SELECT e.eventid,
e.occurred,
e.eventtype,
e.eventdata,
e.eventinfo,
e.summary,
e.userid,
i.interactionid,
Row_number()
OVER (
ORDER BY occurred ASC ) AS rownum
FROM events e
INNER JOIN masterevents me
ON me.eventid = e.eventid
LEFT JOIN interactions i
ON i.accountid = me.accountid
WHERE me.accountid = @AccountId
此查询返回的事件结果甚至没有出现在交互表中,并且它是针对错误的交互ID而不是空的interactid。请帮助我,如何获得所需的结果集。
样本数据:
表events
EventId, EventName
875, 'abc'
874, 'XYZ'
表masterevents
MAsterEventId, EventId, AccountId
759, 875, 1000
758, 874, 1200
表interactions
InteractionId, AccountId
900, 1000