我有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