0

これら 2 つのクエリを 1 つに結合する必要があります。

SELECT user1ID AS friendID FROM friends WHERE user2ID = '$userid'
UNION
SELECT user2ID AS friendID FROM friends WHERE user1ID = '$userid'

それで

SELECT firstName, lastName FROM users WHERE ID = friendID (that we just established)
4

1 に答える 1

1

MySQL のUNION( Manual ) キーワードが探しているものだと思います。

編集された質問による編集:

あなたがやろうとしていることにはサブクエリが必要です (aJOINも機能するかもしれませんが、より複雑になります):

SELECT firstName, lastName FROM users WHERE ID IN
(
    SELECT user1ID AS friendID FROM friends WHERE user2ID = '$userid'
    UNION
    SELECT user2ID AS friendID FROM friends WHERE user1ID = '$userid'
)

サブクエリは、非常に大きなテーブルや複雑なクエリでパフォーマンスの問題を引き起こす可能性があることに注意してください。その場合、サブクエリを a にリファクタリングすることをお勧めしJOINます。

于 2013-10-06T23:03:13.477 に答える