[英]How to join two tables that are joined together with two other tables each
[英]Two tables referring to each other
我正在尝试创建一个简单的社交网络应用,其中包含有关用户及其朋友的记录。 即ID为1的用户有ID为2、3的朋友。ID为2的用户有ID为1、3、4的朋友。等等。现在,我想获取有关该用户及其朋友的记录。
我创建了两个表
用户
user_id | firstname | surname | age
朋友
user_id | friend_id
并记录如下:
用户
user_id | firstname | surname | age
1 | Nikola | Misic | 22
2 | Stefan | Ilic | 23
3 | Dragan | Jovic | null
朋友
user_id | friend_id
1 | 2
1 | 3
2 | 1
3 | 1
3 | 4
user_id和friend_id是外键,均指向用户表中的user_id。
我不确定这种可能性是否可行,我使用了3个表,两个表通过一个组合表连接。
正如您所描述的那样,建议的关系(一个在另一个表中具有两个指向列的外键的表)是完全可能的,并且是要做的相对常见的事情。
在查询用户的朋友方面,基于您在评论中所说,我认为是:
select
u.*
from
users u
inner join friends f
on u.user_id = f.friend_id
where
f.user_id = ?
?
将包含$_GET["userid"]
的userid参数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.