0

其实没那么复杂,我可能用标题误导了你一点。基本上我有2张桌子

CREATE TABLE `friendships` (
 `sender` int(11) unsigned NOT NULL,
 `recipient` int(11) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

并且该问题usersid涉及该列。

friendships保持人与人之间的联系。我要做的是n从用户表中获取用户的所有朋友和有关他们的信息。问题是friendships用户n可能是recipientOR sender,所以我需要从friendships记录中分别获取其他人的信息。

我什至不知道我应该如何构建这个连接,这甚至可能吗?

我想它会像

SELECT * 
FROM friendships LEFT JOIN users ON ???=users.id WHERE recipient=n OR sender=n
4

1 回答 1

2
SELECT * 
FROM friendships f
LEFT JOIN users s ON s.id = f.sender 
LEFT JOIN users r ON r.id = f.recipient 
WHERE n in (f.recipient, f.sender)
于 2013-10-28T20:17:44.883 回答