0

特定のユーザーIDに対してid_user_aとid_user_bが一致する場合にのみ、ユーザーを選択する必要があります。

users                  // SQL Statements: http://pastebin.com/w34qQv0g
id username
1  user1
2  user2
3  user3
4  user4

matches
id_user_a id_user_b
1         2
2         1
1         4
4         1

上記のように、特定のユーザーID 1について、一致テーブルで両方向に一致するIDはid=2およびid=4です。最初の一致は2番目の一致であり、その逆も同様です(1-2および2-1 :: 1-4および4-1)。

そして、与えられたID 4に対して、両方向(1-4と4-1)で1つのIDが一致し、次にid=1がID4と両方向で一致します。指定されたID。コンセプトはかなり明確ですね。しかし、selectステートメントでそれを行うにはどうすればよいですか?誰か助けてもらえますか?ありがとうございました。

4

1 に答える 1

1

ID 4の場合:

SELECT
distinct m1.id_user_b
FROM 
MATCHES M1
JOIN MATCHES M2 ON M1.ID_USER_A = M2.ID_USER_B AND M2.ID_USER_A = M1.ID_USER_B
WHERE M1.ID_USER_A = 4

そして、4をパラメータに変更します。

于 2012-05-21T08:41:33.037 に答える