我正在开发一个朋友系统,它处理朋友请求和友谊。
我有一个名为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(,但这实际上取决于您使用那些重复(双向?(友谊关系实现的语义。