我的问题很简单,但我不知道它的答案......
我有一个包含以下字段和值的表:
分类
ID | PARENT_ID | NAME
---------------------
1 | 0 | Cat1
2 | 0 | Cat2
3 | 1 | Cat3
4 | 1 | Cat4
5 | 3 | Cat5
6 | 2 | Cat6
7 | 0 | Cat7
.....
基本上,我只需要使用MySQL获取数据 - 按Parent_id排序。另外,对于每个名字,我需要根据级别添加“ - ”符号 最后它应该是这样的:
ID | PARENT_ID | NAME
---------------------
1 | 0 | Cat1
3 | 1 | -Cat3
5 | 3 | --Cat5
4 | 1 | -Cat4
2 | 0 | Cat2
6 | 2 | -Cat6
7 | 0 | Cat7
我不知道如何开始构建这样的查询 - 我想按parent_id排序,但它不起作用。
是否有可用于实现此目的的功能或方法?任何提示都会非常感激。
答案 0 :(得分:0)
- 不确定为什么,或者它可能意味着什么,但我认为这会做你所要求的:
select ID,PARENT_ID,concat(substring('---------------',1,NAME),NAME) as NAME
from table
order by PARENT_ID
答案 1 :(得分:0)
尝试使用REPEAT SQL函数。 你可以做到 通过parent_id从表顺序中选择联系人(REPEAT(' - ',parent_id),name);