我遇到了以下问题,但找不到解决方案(即使在网上搜索了很多次之后)。
我有一张包含项目和相关员工的表格(大约 100.000 个条目):
+------------+-------------+
| Project ID | Employee ID |
+------------+-------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 3 | 1 |
| 3 | 2 |
| ... | ... |
是否可以找到每个项目两名员工的所有不同组合并将其写入新表?
期望的输出:
Project ID | Employee ID 1 | Employee ID 2
1 |1 |2
1 |1 |3
1 |2 |3
2 |1 |2
2 |1 |3
...
谢谢!
最佳答案
您使用自连接执行此操作:
select pe1.projectid, pe1.employeeid as employeeid1, pe2.employeeid as employeeid2
from pe pe1 join
pe pe2
on pe1.projectid = pe2.projectid and pe1.employeeid < pe2.employeeid;
使用insert
或create table as
将其放入新表中。
关于mysql - SQL 中的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33548133/