0

フィールド user1 と user2 を持つテーブル A と、user3 と user4 のペアを持つテーブル B があります。

user1/user2 の組み合わせがテーブル B にもあるテーブル A から任意の行を検索できるようにしたいと考えています。

順番は関係ありません。たとえば、user1=Mike、user2=Joe のテーブル A は、user3=Joe および user4=Mike のテーブル B と一致します。

4

2 に答える 2

4

おそらくor、結合で明示的に使用するだけです:

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

...しかし、それは一粒の塩で考えてください。おそらく少なくとも少しの理由で、結合を使いすぎていると非難されてきました。

于 2012-06-26T00:08:17.593 に答える
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);
于 2012-06-26T00:08:06.860 に答える