我有这张表,我为我的 msn 应用程序保存用户列表。还有一张友谊表,它有两个来自用户列表的外键。
用户:id、姓名、在线、ip... 朋友:id1、id2
我想要具有特定 id 朋友的用户的信息。
我正在使用这个 sql 查询:
SELECT (latest_ip, email, online, pass, status)
from im.user JOIN im.friend ON user.id = friend.id1
WHERE user.id = 5
我错过了什么?
删除parenthesis您的 select 子句,您不需要它们
SELECT latest_ip, email, online, pass, status
from im.user
INNER JOIN im.friend
ON user.id = friend.id1
WHERE user.id = 5
更新 1
您需要user再次与表进行额外连接,因为您想获取用户朋友的信息。
SELECT c.*
from im.user a
INNER JOIN im.friend b
ON a.id = b.id1
INNER JOIN im.user c
ON b.id2 = c.id
WHERE a.id = 5