想象一个定义树结构的简单表。
创建表节点( ID整数主键, 名称文本不为空, 父整数 ) 一些示例节点: 节点1是2和3的父节点。节点3是4的父节点。是否可以在sqlite中写入SQL查询,以便返回: id路径 1个foo 2 foo/巴 3个foo/baz 4 foo/baz/东西 一些示例节点: 节点1是2和3的父节点。节点3是4的父节点。是否可以在sqlite中写入SQL查询,以便返回: id path 1 foo 2 foo/bar 3 foo/baz 4 foo/baz/stuff
一些示例节点: 节点1是2和3的父节点。节点3是4的父节点。是否可以在sqlite中写入SQL查询,以便返回: id路径 1个foo 2 foo/巴 3个foo/baz 4 foo/baz/东西 一些示例节点: 节点1是2和3的父节点。节点3是4的父节点。是否可以在sqlite中写入SQL查询,以便返回: id path 1 foo 2 foo/bar 3 foo/baz 4 foo/baz/stuff
一些示例节点:
节点1是2和3的父节点。节点3是4的父节点。是否可以在sqlite中写入SQL查询,以便返回:
id路径 1个foo 2 foo/巴 3个foo/baz 4 foo/baz/东西
一些示例节点: 节点1是2和3的父节点。节点3是4的父节点。是否可以在sqlite中写入SQL查询,以便返回: id path 1 foo 2 foo/bar 3 foo/baz 4 foo/baz/stuff
id path 1 foo 2 foo/bar 3 foo/baz 4 foo/baz/stuff
recursive common table expressions
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