我有一个MySQL表,如下所示:
id | name | parent_id
19 | category1 | 0
20 | category2 | 19
21 | category3 | 20
22 | category4 | 21
......
Run Code Online (Sandbox Code Playgroud)
现在,我想要一个MySQL查询,我只提供id [例如说'id = 19']然后我应该得到它的所有子id [即结果应该有id',21,22']. ...而且,孩子们的等级不知道它可以变化....
另外,我已经有了使用for循环的解决方案.....如果可能的话,让我知道如何使用单个MySQL查询来实现相同的功能.
我有一张桌子:
+------+---------+-
| id | parent |
+------+---------+
| 2043 | NULL |
| 2044 | 2043 |
| 2045 | 2043 |
| 2049 | 2043 |
| 2047 | NULL |
| 2048 | 2047 |
| 2043 | 2047 |
+------+---------+
Run Code Online (Sandbox Code Playgroud)
它显示了一个简单的2级"亲子" - 核心.我怎样才能通过SELECT语句来获取上面列表中的顺序,这意味着:第一个父项,第一个父项的子项,第二个父项,第二个父项的子项等等(如果我有,我可以添加为孩子们订购BY ...我希望).是否可以添加排序字段?
我有如下的sql server表结构:
ID Name ParentID
-----------------------
1 Root NULL
2 Business 1
3 Finance 1
4 Stock 3
Run Code Online (Sandbox Code Playgroud)
我想在我的网页中显示详细信息
ID Name ParentName
-------------------------
1 Root -
2 Business Root
3 Finance Root
4 Stock Finance
Run Code Online (Sandbox Code Playgroud)
如何构建我的SQL查询?请帮我.