我正在使用一个跟踪所有拨打电话的表,我正在尝试制作一个报告,显示由特定UserID
发出和接收的电话。问题是可以作为群组呼叫进行呼叫,并且这些呼叫对于接听呼叫的呼叫具有不同的UserIDs
。拨打电话时,如果设备的UserID
拨打电话并且CallDirection
为Initiated
,则会为每个设备创建一个条目,正在拨打电话,每个电话都有接收设备的UserID
和CallDirection
Received
。
唯一将条目联系在一起的是另一个标有CallID
的列。他们在这里共享相同的ID。
所以我想查询具有某个UserID
的所有通话记录,如果CallDirection
是Initiated
,那么我还希望获得具有CallId
的所有行}(它不会与我过滤的UserID
相同)
我似乎无法围绕如何做到这一点,并且非常感谢任何帮助。
答案 0 :(得分:0)
根据我对问题的理解,您可以进行自我加入,其中一个副本包含CallDirection
= Initiated
的记录,其他副本是您的原始表格,并在{{1}上加入它们}。
CallID
答案 1 :(得分:0)
@Vashi 真棒!这让我成为了一整套电话"已启动"由那个用户,但现在我需要它也给我打电话"收到"。 这是我现在的查询:
SELECT A.RecordID, A.CallID, A.UserID, A.CallDirection
FROM CALL_HISTORY A
INNER JOIN (SELECT RecordID, CallID, UserID, CallDirection
FROM CALL_HISTORY
WHERE CallDirection="Initiated"
AND UserID=10680
) I
ON A.CallID = I.CallID;