如何为友谊关系(mysql)创建sql?

时间:2018-05-16 14:59:49

标签: mysql

我有一个mysql表:

朋友(id,userid,friendid)

和表用户(id,用户名) 例如:

(1,'John'), (2, 'Jerry'), (3, 'Larry), (4, 'Marry')

John和Jerry是朋友,所以在朋友中我们有

(1,2)
(2,2)

并且拉里要求约翰成为约翰的未接受它的朋友

(3,1)

并且John请求Marry,他不接受它

(1,4)

有没有办法让SQL为John的朋友们提供一些结果:

(1, Jerry)

在所有表格中我们都有

(1,2)
(2,2)
(3,1)
(1,4)

1 个答案:

答案 0 :(得分:0)

select u.*
from friends f1
join friends f2 on f2.user_id = f1.friend_id
join users u on u.id = f1.friend_id
where f1.user_id = 1 -- John's id

加入friends表格将确保"友谊"是"双向"。