2015-05-15 141 views
-2

我有下面的表結構。 (我是新來的SQL精簡版)SQL Lite中的遞歸查詢CTE

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空乙

我無法弄清楚如何編寫遞歸查詢以sqllite表示。 在此先感謝..

+0

哪一部分[文件]中(http://www.sqlite.org/lang_with.html)你不明白嗎? –

回答

0

是一個版本問題。 此查詢不起作用&得到語法錯誤。 我升級從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