gpt4 book ai didi

sqlite - 如何在 SQLite 中获取分层树路径?

转载 作者:行者123 更新时间:2023-12-02 11:38:07 25 4
gpt4 key购买 nike

想象一个定义树结构的简单表。

create table nodes (
id integer primary key,
name text not null,
parent integer
)

一些示例节点:

enter image description here

节点 1 是 2 和 3 的父节点。节点 3 是 4 的父节点。是否可以在 SQLite 中编写 SQL 查询,以便它返回:

id    path
1 foo
2 foo/bar
3 foo/baz
4 foo/baz/stuff

最佳答案

您可以使用 recursive common table expressions 在 SQLite 中执行递归。

返回节点路径的示例查询:

with recursive paths(id, name, path) as (
select id, name, name from nodes where parent is null
union
select nodes.id, nodes.name, paths.path || '/' || nodes.name
from nodes join paths where nodes.parent = paths.id
)
select id, path from paths

关于sqlite - 如何在 SQLite 中获取分层树路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51585126/

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