GROUP_CONCAT 与两个表的 LEFT OUTER JOIN
Posted
技术标签:
【中文标题】GROUP_CONCAT 与两个表的 LEFT OUTER JOIN【英文标题】:GROUP_CONCAT with LEFT OUTER JOIN of two tables 【发布时间】:2014-07-19 04:39:25 【问题描述】:SELECT table1.value, table2.additionalinfo
FROM table1
LEFT OUTER JOIN table2
ON table1.ID=table2.ID
我尝试输出这样的东西
Value AdditionalInfo
blah something, somethingelse, more
blah2 NULL
blah3 stuff
但我明白了
Value AdditionalInfo
blah something
blah somethingelse
blah more
blah2 NULL
blah3 stuff
我尝试使用GROUP_CONCAT
和GROUP_CONCAT(DISTINCT)
SELECT GROUP_CONCAT(table1.value), table2.additionalinfo
FROM table1
left outer JOIN table2
ON table1.ID=table2.ID ORDER BY table1.value
当我添加 GROUP_CONCAT
和 ORDER BY table1.value
时,它只列出每个值的一个附加信息,但没有任何值,并且不会得到重复的附加信息。我将订单到处移动,但无济于事。
【问题讨论】:
【参考方案1】:我认为您需要在 AdditionalInfo
列上而不是在 table1.value
上执行 GROUP_CONCAT
SELECT table1.value,
GROUP_CONCAT(distinct table2.additionalinfo) additionalinfo
FROM table1
left outer JOIN table2 ON table1.ID=table2.ID
GROUP BY table1.value
ORDER BY table1.value
【讨论】:
以上是关于GROUP_CONCAT 与两个表的 LEFT OUTER JOIN的主要内容,如果未能解决你的问题,请参考以下文章
来自 GROUP_BY 的两个 LEFT JOIN 的 GROUP_CONCAT 的奇怪重复行为
MySQL:带有LEFT JOIN的GROUP_CONCAT