我有TableA with userAId和UserBId。從子查詢中選擇兩次
我也得到了用戶id另一個表B
我想選擇表A的所有記錄,其中userAId和UserBId是TableB中
我的解決辦法是:
select * from TableA where
userAId IN
(
select UserId from Table B
)
and UserBId IN
(
select UserId from Table B
)
,但我認爲它不是最佳解決方案,因爲我從表B中選擇UserId兩次
任何其他解決方案?
進出口使用T-SQL SQL seerver 2008 R2
迄今唯一正確的答案並沒有upvotes唯一的一個。難以置信。這裏是我的+1。如果tableB中的一個用戶可以有多個條目,那麼應該是'COUNT(DISTINCT UserID)'。 – 2014-10-17 19:49:37
該查詢的速度與OP的嘗試速度相似,在tableB上連接兩次會快得多 – radar 2014-10-17 23:07:24