查找表A中同样位于表B中的所有用户

时间:2012-06-26 00:04:05

标签: sql

我的表A包含字段user1和user2,表B包含user3和user4对。

我希望能够从表A中找到user1 / user2组合也在表B中的任何行。

订单无关紧要。例如,表a使用user1 = Mike,user2 = Joe会将表B与user3 = Joe和user4 = Mike匹配。

2 个答案:

答案 0 :(得分:4)

我可能只是在联接中使用明确的or

select user1, user2 
      from tableA join tableB on 
          (user1=user3 and user2=user4) or 
          (user1=user4 and user2=user3)

......但是要带上一粒盐。我被指责过度使用连接,可能至少有一点理由。

答案 1 :(得分:1)

select a.user1, a.user2 from a, b 
where (a.user1 == b.user3 and a.user2 == b.user4)
or (a.user1 = b.user4 and a.user2 = b.user3);