将MySQL表转换为边列表

3

我有一个MySQL表格,长这样:

Project      User
ABC      1
ABC      2
ABC      3
DEF      2
DEF      4

换句话说,从输入中可以看出1、2和3号人员参与了ABC项目。在我的数据中,这意味着他们之间有关系(即他们一起参与了同一个项目)。
我想找到一种方法,只保留用户之间的链接。如果用户曾经一起参与某个项目,那么他们之间就会产生链接。最终列表将如下所示:
1 2
1 3
2 3
2 4

因此,我希望每个关系只有一行。您会如何建议我实现这个目标?
1个回答

2

使用自连接

select t1.user user1, t2.user user2
from table1 t1 inner join table1 t2 on t1.user<t2.user and
t1.project=t2.project

Fiddle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接