如何编写此 SQL 查询?显示好友


How can I write this SQL query? Displaying friends

我正在开发一个朋友系统,它处理朋友请求和友谊。

我有一个名为Member的表,我在其中保存有关每个成员的信息,包括他们的 ID、名字和姓氏

还有另一个名为"友谊"的表,我在其中跟踪第一个朋友Friend1和第二个Friend2的ID以及友谊形成的日期。(注意:每个请求在我的数据库中记录两次;例如 1 -> 2 和 2->1(

我正在尝试编写一个查询来显示当前用户的朋友的名字和姓氏。我知道我必须内部连接两个表,但我不确定究竟是什么。

假设友元表和成员表具有相同的 ID 列,

SELECT m.first, m.second 
FROM m.member INNER JOIN f.friendships
ON f.id = m.id;

可能是这样的 somthings

 select a.firstname, b.lastname from Member a 
 inner join Friendships b on (b.friend1_id = a.id ) 
 and a.id = 'current_user_id'

在外键上(我猜是 Members.Id=Friendships.Friend1(,但这实际上取决于您使用那些重复(双向?(友谊关系实现的语义。