我有一张表,我在同一列中添加父项和子项值,但用parentid
区分它们,例如父项值将没有parentid
,它将仅具有自动递增的id
,子项值将具有自动递增的ID和父ID parentid
等于父值的ID。
这是我的桌子
id parentid q_values
1 0 parentvalue
2 1 childvalue
3 1 childvalue
4 1 childvalue
谁能帮我解决逗号分隔列表形式的子值?
我已经尝试过了,但没有成功。
SELECT
q_values,
GROUP_CONCAT( CASE WHEN parentid = id THEN q_values END ) AS childvalue,
FROM table_name
结果应如下所示
id q_values childvalue
1 parentValue childvalues, childvalues
最佳答案
你需要
自加入
添加GROUP BY
子句,因为GROUP_CONCAT是聚合函数
这更接近您的解决方案
SELECT p.q_values as parentvalue,
GROUP_CONCAT(c.q_values) AS childvalue,
FROM table_name AS p
JOIN table_name AS c
ON p.id = c.parentid
WHERE p.parentid = 0
GROUP BY parentvalue
ORDER BY parentvalue
关于mysql - 我如何以逗号分隔列表的形式包含子值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19767377/