我有一个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)
答案 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
表格将确保"友谊"是"双向"。