我的表A包含字段user1和user2,表B包含user3和user4对。
我希望能够从表A中找到user1 / user2组合也在表B中的任何行。
订单无关紧要。例如,表a使用user1 = Mike,user2 = Joe会将表B与user3 = Joe和user4 = Mike匹配。
答案 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);