Mysql 删除连接表中的重复项

Mysql 删除连接表中的重复项,mysql,sql,join,Mysql,Sql,Join,我有4张这样的桌子: 计划 PMJOIN ID - PROJECTS_ID - USER_ID 1 -1 - 1 1 -1 - 2 重新加入 ID - PROJECTS_ID - USER_ID 2 -1 - 2 使用者 我想要一个查询,列出所有项目与所有项目经理和责任在一行。将PM和责任与(,)连接起来 因此,期望的输出是: 1-TEST-PIPPO,PLUTO-PLUTO 我尝试的所有联接都提供了重复的行。使用聚合函数,例如,使用适当的联接 检查以下查询: SELECT p.ID

我有4张这样的桌子: 计划

PMJOIN

ID - PROJECTS_ID - USER_ID
1 -1 - 1 
1 -1 - 2 
重新加入

ID - PROJECTS_ID - USER_ID
2 -1 - 2 
使用者

我想要一个查询,列出所有项目与所有项目经理和责任在一行。将PM和责任与(,)连接起来

因此,期望的输出是:

1-TEST-PIPPO,PLUTO-PLUTO

我尝试的所有联接都提供了重复的行。

使用聚合函数,例如,使用适当的联接

检查以下查询:

SELECT p.ID, 
       p.TITLE, 
       GROUP_CONCAT(DISTINCT u1.ALIAS) AS PMs, 
       GROUP_CONCAT(DISTINCT u2.ALIAS) AS RESPs
FROM PROJECTS AS p 
JOIN PMJOIN AS pmj ON pmj.PROJECTS_ID = p.ID 
JOIN USERS AS u1 ON u1.ID = pmj.USER_ID 
JOIN RESPJOIN AS rj ON rj.PROJECTS_ID = p.ID 
JOIN USERS AS u2 ON u2.ID = rj.USER_ID 
GROUP BY p.ID, p.TITLE

PMJOIN
RESPJOIN
表之间有什么区别?您已经尝试了哪些内容,您遇到了哪些问题?完整的查询可能会有所帮助。我认为您正在搜索GROUP_CONCAT()。PMJOIN和RESPJOIN在技术上是相同的,但所指的含义不同。我找不到在连接中进行区分的方法
1-TEST-PIPPO,PLUTO-PLUTO
SELECT p.ID, 
       p.TITLE, 
       GROUP_CONCAT(DISTINCT u1.ALIAS) AS PMs, 
       GROUP_CONCAT(DISTINCT u2.ALIAS) AS RESPs
FROM PROJECTS AS p 
JOIN PMJOIN AS pmj ON pmj.PROJECTS_ID = p.ID 
JOIN USERS AS u1 ON u1.ID = pmj.USER_ID 
JOIN RESPJOIN AS rj ON rj.PROJECTS_ID = p.ID 
JOIN USERS AS u2 ON u2.ID = rj.USER_ID 
GROUP BY p.ID, p.TITLE