-1

我有一个表格查询

SELECT pub.id, topic.id, pub.title, etc... 
FROM pub, topic, link
WHERE (matching logic)

以形式返回

pub.id  |  topic.id  |  pub.title
---------------------------------
x1      |  a         |  y1
x1      |  b         |  y1
x1      |  ...       |  y1

x2      |  c         |  y2
x2      |  d         |  y2
x2      |  ...       |  y2

我真正想要的是表格的回复

pub.id  |  topic.id  |  pub.title
---------------------------------
x1      |  a, b ...  |  y1
x2      |  c, d ...  |  y2

(我认为匹配逻辑不重要,但如果有必要我会发布它。)

我试过group_concat()and coalesce,但没有任何效果。有什么帮助吗?

4

1 回答 1

4

你记得GROUP BY在你的GROUP_CONCAT测试中加入吗?
如果不对数据进行分组,则无法连接组。

这是一个工作示例:http ://sqlfiddle.com/#!2/5cd63/2

它应该等于:

SELECT pub.id, GROUP_CONCAT(topic.id SEPARATOR ','), pub.title
FROM pub, topic
WHERE (matching logic)
GROUP BY pub.id, pub.title
于 2014-06-19T15:44:03.363 回答