请朋友这是一个朋友用户的表格,所以我想为用户1和用户2选择共同的朋友。共同的朋友都是用圆圈标记的用户,我用特定的颜色对每个用户进行分组:这是我的编码:
SELECT * FROM friends AS f5
INNER JOIN
((SELECT one FROM friends WHERE two = '1') AS f1,
(SELECT two FROM friends WHERE one = '1') AS f2,
(SELECT one FROM friends WHERE two = '2') AS m1,
(SELECT two FROM friends WHERE one = '2') AS m2)
ON (f1.one = m1.one AND f2.two = m2.two )
我想让它显示用户1和2的共同朋友,但是当我在SQL中运行此查询时,它显示了一个空结果。我需要帮助。
答案 0 :(得分:3)
通过f1和f2的联合选择一个的朋友,然后以相同的方式选择2的朋友,然后最后你的内部联接这两个结果:
select a.* from
(select one as f1 from friends where two = '1'
union
select two as f2 from friends where one = '1') as a
inner join
(select one as f1 from friends where two = '2'
union
select two as f2 from friends where one = '2') as b
on a.f1 = b.f1
结果:
f1
5
6
3
4