1

同じテーブルに参加することについて多くの質問がありますが、私の問題に関連するものが見つかりません

私は2つのテーブルを持っています:

user (id, name)
friends (from, to)

そして、次のクエリがあります。すべてのユーザーとその友達を取得することになっています:

SELECT user.id, user.name, f.to, friend.id, friend.name
FROM user

LEFT JOIN friends f ON user.id = f.from
LEFT JOIN user friend ON  user.id = f.to
LIMIT 0, 200

次のようなものが返されます。

id name from to id   name
1  bob  1    3  NULL NULL
1  bob  1    4  NULL NULL
2  toto 2    7  NULL NULL

from と two は正しいですが、2 番目の結合は機能していないようです。2番目の結合の何が問題なのか考えていますか?

4

1 に答える 1

3

これを試して:

SELECT user.id, user.name, f.to, friend.id, friend.name
FROM user
LEFT JOIN friends f ON user.id = f.from
LEFT JOIN user friend ON friend.id = f.to
LIMIT 0, 200

結合条件でuserに置き換えたことに注意してください。friend

于 2012-10-22T10:49:42.263 に答える