2012-10-22 97 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

不能相信我错过了。谢谢 –