[英]Select query with GROUP_CONCAT in mysql
我有两个表看起来像那样。
使用者
id name
10 dani
9 mark
8 himel
7 dipu
config_project
id assignee_web assignee_app assignee_qa
29 10,7,9 10,7 10,9
28 10,8 9,10,7 8
在这里, assignee_web , assignee_app和assignee_qa都是带有用户表ID的参考ID。 现在我想要一个选择查询,其输出看起来像
id assignee_web assignee_app assignee_qa
29 dani,dipu,mark dani, dipu dani,mark
28 dani,himel dani,mark,dipu himel
我写了一个查询,只显示assignee_web。 这是我的代码
SELECT c.id as id, GROUP_CONCAT(u.name SEPARATOR ', ') as assignee_web FROM config_project c, users u
WHERE FIND_IN_SET(u.id, c.assignee_web)
GROUP BY c.id ORDER BY c.id DESC
我只能通过此查询获取assignee_web数据,但不能返回assignee_app和assignee_qa的数据。
您可以使用相关查询:
SELECT c.id as id,
(SELECT GROUP_CONCAT(u.name SEPARATOR ', ')
FROM users u
WHERE FIND_IN_SET(u.id, c.assignee_web)) as assignee_web,
(SELECT GROUP_CONCAT(u.name SEPARATOR ', ')
FROM users u
WHERE FIND_IN_SET(u.id, c.assignee_app)) as assignee_app,
(SELECT GROUP_CONCAT(u.name SEPARATOR ', ')
FROM users u
WHERE FIND_IN_SET(u.id, c.assignee_qa)) as assignee_qa
FROM config_project c
ORDER BY c.id DESC
虽然您应该规范化数据。 人们只是从不学习,每次您遇到一些新问题时,您都会不断遇到这些问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.