1.问题描述:
如何获得一张表某个节点的所有父级元素并按父子顺序拼接成字符串,像下面这样的表结构,假定area_code是130108,如何查询能让结果是“河北省石家庄市裕华区”这样的形式(mysql)
2.解决方案:自连接(之前想了太多方式,包括函数、Java代码解决,没想到最后问题竟然解决的这么伶俐... 果然大道至简至易)
SELECT
b.area_code '辖区编号',
CONCAT(
CASE a.area_parent
WHEN 130000 THEN
'河北省'
ELSE
''
END,
a.area_name,
b.area_name
) '辖区'
FROM
cust_area a
JOIN cust_area b ON b.area_parent = a.area_code
3.结果