SQL Lite 中的递归查询 CTE
Recursive Query CTE in SQL Lite
我有以下 table 结构。 (我是 SQL 精简版的新手)
create table Relations
(
Code int,
ParentCode int ,
fname text
)
GO
insert into Relations values(1,null,'A');
insert into Relations values(2,null,'B');
insert into Relations values(3,2,'C');
insert into Relations values(4,3,'D');
我想获取代码 =4 的初始父级:
即值 2 null B
我不知道如何在 sqllite 中编写递归查询。
提前致谢..
是版本问题..
此查询不工作 & 出现语法错误。
我从 3.7.17 升级到 3.8.7.4 版本并且它有效..
WITH RECURSIVE
works(Code,Parent) AS (
Select Code,ParentCode from Relations a where a.Code=4
UNION
SELECT Relations.Code, Relations.ParentCode FROM Relations , works
WHERE Relations.Code=works.Parent
)
SELECT * FROM works where Parent is null
我有以下 table 结构。 (我是 SQL 精简版的新手)
create table Relations
(
Code int,
ParentCode int ,
fname text
)
GO
insert into Relations values(1,null,'A');
insert into Relations values(2,null,'B');
insert into Relations values(3,2,'C');
insert into Relations values(4,3,'D');
我想获取代码 =4 的初始父级: 即值 2 null B
我不知道如何在 sqllite 中编写递归查询。 提前致谢..
是版本问题.. 此查询不工作 & 出现语法错误。 我从 3.7.17 升级到 3.8.7.4 版本并且它有效..
WITH RECURSIVE
works(Code,Parent) AS (
Select Code,ParentCode from Relations a where a.Code=4
UNION
SELECT Relations.Code, Relations.ParentCode FROM Relations , works
WHERE Relations.Code=works.Parent
)
SELECT * FROM works where Parent is null