我正在尝试返回讨论列表及其附加队列(ID和名称)。
到目前为止,我有以下内容:
SELECT a.id as discussion_id,c.queue_id,e.queue_name
FROM support_discussions AS a
JOIN (
SELECT b.queue_id,b.discussion_id
FROM support_queues_discussions AS b
) AS c ON a.id=c.discussion_id
JOIN (
SELECT d.id,d.name AS queue_name
FROM support_queues AS d
) AS e ON c.queue_id=e.id
返回以下内容(按预期方式):
discussion_id | queue_id | queue_name
1 | 1 |队列名称A
1 | 2 |队列名称B
我真正想做的是让它将每个讨论作为一行返回,以及队列ID和队列名称的单独列:
discussion_id | queue_id | queue_name
1 | 1,2 |队列名称A,队列名称B
有关如何以有效的方式完成此事的任何想法?
答案 0 :(得分:1)
mysql中有GROUP_CONCAT函数,它可以完全满足您的需求
您是否考虑过如果队列名称包含逗号字符会发生什么?也许你应该重新考虑你的解决方案,因为你所描述的听起来有点狡猾
答案 1 :(得分:1)
您可以使用GROUP_CONCAT。