Postgresql Postgres-带递归-获取父名称列
我有一张桌子:Postgresql Postgres-带递归-获取父名称列,postgresql,recursive-query,self-reference,Postgresql,Recursive Query,Self Reference,我有一张桌子: 创建表格单元格 ( cellpk序列号不为空, cellname字符不为空, 父整数不为空, 约束cellpk主键(cellpk) ) 尝试连接到原始表: WITH RECURSIVE cell_child AS ( SELECT fp.* FROM cell as fp WHERE fp.parent = '111' UNION ALL SELECT f.* FROM cell AS f JOIN cell_child as fc ON f.parent
创建表格单元格
(
cellpk序列号不为空,
cellname字符不为空,
父整数不为空,
约束cellpk主键(cellpk)
)
尝试连接到原始表:
WITH RECURSIVE cell_child AS (
SELECT fp.* FROM cell as fp WHERE fp.parent = '111'
UNION ALL
SELECT f.* FROM cell AS f
JOIN cell_child as fc ON f.parent = fc.cellpk
)
SELECT cc.*, parent.cellname
FROM cell_child AS cc
LEFT JOIN cell AS parent ON parent.cellpk = cc.parent;
subcellA1 - cellA
subcellA2 - cellA
subsubcellA1- subcellA1
subsubcellA2- subcellA2
WITH RECURSIVE cell_child AS (
SELECT fp.* FROM cell as fp WHERE fp.parent = '111'
UNION ALL
SELECT f.* FROM cell AS f
JOIN cell_child as fc ON f.parent = fc.cellpk
)
SELECT cc.*, parent.cellname
FROM cell_child AS cc
LEFT JOIN cell AS parent ON parent.cellpk = cc.parent;