相关疑难解决方法(0)

如何创建MySQL分层递归查询

我有一个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查询来实现相同的功能.

mysql sql recursive-query hierarchical-data

237
推荐指数
9
解决办法
25万
查看次数

父和子存储在同一个表中时显示父子关系

我有如下的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查询?请帮我.

sql t-sql sql-server

7
推荐指数
3
解决办法
3万
查看次数

尝试返回父记录的所有子记录列

我正在寻找一种解决方案,通过该解决方案,我可以获得父记录的所有子记录。我找到了一个满足我需求的解决方案,如下所示

唯一的问题是上述解决方案是连接 ID。

当前结果集

它是用逗号分隔的 ID 列,值 = 2,3,4

预期产出

ID    Name    ParentID
1      1st       null
2      2nd       1
3      3rd       1
4      4th       2
Run Code Online (Sandbox Code Playgroud)

我试过下面的代码。

SELECT @pv:=
(SELECT * FROM tblreport WHERE ParentID IN (@pv)) AS lv FROM tblreport
JOIN
(SELECT @pv:=2)tmp
WHERE ParentID IN (@pv)
Run Code Online (Sandbox Code Playgroud)

并收到一条错误消息:操作数应包含 1 列

我的示例 SQL 小提琴

mysql

4
推荐指数
1
解决办法
1297
查看次数