mysql 省市县 三级 如何得到全名称 拼接更新到新字段中
需求 : 我现在要把 父级id 和自己的id 用逗号拼接 更新到 object_parent_id 字段中
我现在要把 父级名称 和自己的名称 用逗号拼接 更新到 object_parent_name字段中
效果图
实现sql
查询拼接sql
SELECT
s.id,
concat_ws( ',', s.parentid, s.id ) parentid,
concat_ws( ',', s.parentName, s.object_name ) parentName
FROM
(
SELECT
a.id,
b.object_parent_id parentid,
a.object_name,
b.object_parent_name parentName
FROM
tbl_object a
LEFT JOIN tbl_object b ON a.parent_id = b.id
WHERE
a.LEVEL > 1
) s
根据查询结果 更新sql
UPDATE `tbl_object` r
INNER JOIN (
SELECT
s.id,
concat_ws( ',', s.parentid, s.id ) parentid,
concat_ws( ',', s.parentName, s.object_name ) parentName
FROM
(
SELECT
a.id,
b.object_parent_id parentid,
a.object_name,
b.object_parent_name parentName
FROM
tbl_object a
LEFT JOIN tbl_object b ON a.parent_id = b.id
WHERE
a.LEVEL > 1
) s ) t ON r.id= t.id
SET r.object_parent_id = t.parentid,r.object_parent_name = t.parentName