首先假设我的table1是:
id name
----------
1 abc
2 bcd
3 cde
在table2中我存储
id table1_id
------------
1 1,2
2 1,3
3 1,2,3
我想要这样的输出
id table1_value
----------------
1 abc,bcd
2 abc,cde
3 abc,bcd,cde
请帮我处理mysql查询..
答案 0 :(得分:3)
以下是一个符合您要求的查询。正如@GurV在上面评论过的那样,你应该避免在你的表中存储CSV数据,这些数据没有规范化,并且它阻碍了MySQL作为关系数据库的大部分功能。
SELECT t2.id,
GROUP_CONCAT(t1.name ORDER BY t1.name) AS table1_value
FROM table2 t2
INNER JOIN table1 t1
ON FIND_IN_SET(t1.id, t2.table1_id) > 0
GROUP BY t2.id
<强>输出:强>
在这里演示: