1
我有下面這些表的匹配的父..(我省略了可讀性其他不必要的列)選擇所有子表ID爲孩子
隊 - TeamID,TeamName
TeamMembers - TeamMemberID,TeamID ,成員名稱
BoothVisitLog - BoothVisitLogID,BoothID,訪問了(MEMBERID)
對於例如假設ID爲1的團隊成員訪問了BoothID 1.現在我想查看是否有任何同一團隊的成員訪問了該展位。
我寫了下面的查詢哪些工作正常。但我更傾向於編寫更好的優化查詢,而不是使用子查詢。有什麼方法可以使用連接實現相同?
SELECT * FROM BoothVisitLog BVL INNER JOIN
(
SELECT TM.MemberID FROM TeamMembers TM
INNER JOIN Teams T ON TM.TeamID = T.TeamID
WHERE T.TeamID IN
(
SELECT TM.MemberID FROM TeamMembers TM
INNER JOIN Teams T ON TM.TeamID = T.TeamID
WHERE TM.MemberID = 1
)
) TTM ON BVL.VisitedBy = TTM.MemberID AND BVL.BoothID = 1