何かを理解しようとして、SQL クエリに頭を悩ませています。
簡単に言うと、これが私の (単純な) 表です。これは、ソーシャル ネットワーク サイトに追加された友人を表したものです。このようなテーブル形式を使用する必要があります。user1 と user2 は両方とも主キーです。
User1 | User2
--------------------------------------
foo@a.com | things@stuff.com
foo@a.com | lala@hi.com
things@stuff.com| lol@k.com
lol@k.com | foo@a.com
foo@a.com | lol@k.com
私がする必要があるのは、たとえば foo@a.com と友達であるすべての一意のユーザーを返す SELECT ステートメントを作成することです。
SELECT User2
FROM members
WHERE User1 = 'things@stuff.com'
後者を返す必要がある場合でも、foo@a.com ではなく lol@k.com を返します。
SELECT *
FROM members
WHERE User1 = 'foo@a.com'
OR User2 = 'foo@a.com'
私が思うにエラーを返しますか?おそらく複数の列を選択する何か。
したがって、ユニオン結合またはその他の結合が必要であると考えています(ユニオンなので重複はありませんか?)が、それを行う方法が本当にわかりません。
私はこれをPHPで実装しようとしているので、最後に書いたクエリが機能したとしても、返されたもの/必要なものに応じてUser1またはUser2をエコーする方法がわかりません。