gpt4 book ai didi

mysql - 使用mysql从表中提取父子列表

转载 作者:行者123 更新时间:2023-11-30 22:58:13 50 4
gpt4 key购买 nike

我想从这样的表中提取按父级排序的用户列表以及父级之后的每个子级:

id  | name | parent_id
----| ---- | --------
1 | max | 0
2 | john| 0
3 | jim | 1
4 | jack| 1
5 | merry| 2

我想要一个查询来提取每个父项,然后是它的子项:像这样

 max
Jim
jack
john
merry

我可以通过在彼此内部循环来做到这一点。但是我搜索是否有sql查询解决方案。我还测试了使用连接表的方式,@Tucker 在下面展示了它自己,但它返回了这个:它接近但不仅仅是我想要的。它检索这个:

-------------
max | jim
max |jack
john |merry
---------------------

但是我想举个例子

-----------------
0 |max
max |Jim
max |jack
0 |john
john |merry
------------------

最佳答案

我的语法可能有点不对,但你可以像这样自己加入表格

SELECT * FROM (
SELECT a.name AS `PARENT`, b.name AS `CHILD`
FROM db.table a
JOIN db.table b ON b.parent_id=a.id
WHERE a.parent_id=0
UNION ALL
SELECT c.parent_id AS `PARENT`,c.name AS `CHILD`
FROM db.table c WHERE c.parent_id=0
);

示例中的行排序很难通过 sql 实现。

关于mysql - 使用mysql从表中提取父子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25291958/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com