2012-10-22 93 views
1

有很多問題在同一個表約加盟,但我找不到與我的問題MySQL和雙連接使用同一個表兩次,但間接

我有兩個表的內容:

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 

的距離,兩個是正確的,但第二個連接似乎不工作。你有什麼想法第二次加入有什麼問題嗎?

回答

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 

注意,我在加盟條件與friend取代user

+0

不能相信我錯過了。謝謝 –