考慮包含有關目錄結構的信息如下表:創建路徑組件路徑字符串
CREATE TABLE t (id INTEGER, name TEXT, parent INTEGER);
INSERT into t VALUES
(1, "", 1),
(2, "a", 1),
(3, "b", 2),
(4, "c", 3),
(5, "d", 1);
SELECT * FROM t;
從該表應該可以得到一個包含路徑名稱的列
""
"a"
"a/b"
"a/b/c"
"d"
這似乎是某種遞歸是必要的。到目前爲止,我只設法創造的父目錄的一個文本列:
SELECT b.id, b.name name, b.parent parent, a.name as parent_name
FROM t a INNER JOIN t b ON a.id = b.parent;
如何從這裏着手?
請注意:你不能假設你的ROWID是不變的! –
@LS_ᴅᴇᴠ好點,我已經改變了這個例子,使rowid不被使用 –