MySQL按顺序获取父/子类别
我的问题很简单,但我不知道答案 我有一个包含以下字段和值的表: 类别MySQL按顺序获取父/子类别,mysql,multi-level,Mysql,Multi Level,我的问题很简单,但我不知道答案 我有一个包含以下字段和值的表: 类别 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 ..... 基本上,我只需要使用
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获取数据-按父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
我不知道如何开始构建这样一个查询——我想按父id排序,但它不起作用
有没有一个函数或方法可以用来实现这一点?任何提示都将不胜感激。-我不确定原因,也不知道它可能意味着什么,但我认为这将满足您的要求:
select ID,PARENT_ID,concat(substring('---------------',1,NAME),NAME) as NAME
from table
order by PARENT_ID
请注意,如果有超过15个“级别”或父级ID>15,则需要添加更多的“-”。
尝试使用repeatsql函数。 你可以用它来做什么
按父id从表顺序中选择联系人重复'-',父id,名称 我想你不明白我的问题。我需要根据父项ID对其进行排序-考虑显示一个包含类别和子类别列表的选择框…只是在上面添加了一个按父项ID排序。如果您按父项ID排序-您会得到我需要的结果吗?再次检查,因为行的顺序不是这样的。最后的顺序由类别所在的级别给出。请查看此网站:作为起点。您正在使用邻接技术。@AgRizzo-将此作为一个答案,这样我就可以接受它。这不是一个真正的答案没有SQL代码-它更像是一个重定向:如果您开发了一个解决方案,您应该自己回答它。@AgRizzo-是的,但它解决了或帮助了我的很多问题。你必须得到答案。我将直接提出这个问题的解决办法。