GROUP_CONCAT 中的双重结果与 MySQL 中的双重 JOIN
Posted
技术标签:
【中文标题】GROUP_CONCAT 中的双重结果与 MySQL 中的双重 JOIN【英文标题】:Double results in GROUP_CONCAT with double JOIN in MySQL 【发布时间】:2014-12-30 10:48:04 【问题描述】:我有以下表格:
产品
字段:ID、标题 值:(1,'Product 1')table1
字段:id、idProduct 值:(1,1),(2,1)table2
字段:id、idProduct 值:(3,1),(4,1)还有以下查询:
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
预期结果是:
1 | Product 1 | 1,2 | 3,4
不幸的是我得到了:
1 | Product 1 | 1,1,2,2 | 3,3,4,4
【问题讨论】:
见***.com/questions/8872351/… 【参考方案1】:您需要添加 DISTINCT:
GROUP_CONCAT(DISTINCT t1.id ORDER BY t2.id),
【讨论】:
以上是关于GROUP_CONCAT 中的双重结果与 MySQL 中的双重 JOIN的主要内容,如果未能解决你的问题,请参考以下文章
mysql中的group_concat与“case when”条件