pan*_*nic 2 mysql join group-concat
我有以下表格:
制品
表格1
表2
以下查询:
SELECT
p.*,
GROUP_CONCAT(t1.id ORDER BY t2.id),
GROUP_CONCAT(t2.id ORDER BY t2.id)
FROM
products p
JOIN table1 t1 ON p.id=t1.idProduct
JOIN table2 t2 ON p.id=t2.idProduct
GROUP BY
p.id
Run Code Online (Sandbox Code Playgroud)
预期结果是:
1 | Product 1 | 1,2 | 3,4
Run Code Online (Sandbox Code Playgroud)
不幸的是我得到:
1 | Product 1 | 1,1,2,2 | 3,3,4,4
Run Code Online (Sandbox Code Playgroud)
小智 7
你需要添加DISTINCT:
GROUP_CONCAT(DISTINCT t1.id ORDER BY t2.id),
Run Code Online (Sandbox Code Playgroud)