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;