私はテーブルを持っています:
CREATE TABLE cell
(
cellpk serial NOT NULL,
cellname character varying NOT NULL,
parent integer NOT NULL,
CONSTRAINT cellpk PRIMARY KEY (cellpk)
)
cellA-> subcellA1-> subsubcellA1 |-> subcellA2-> subsubcellA2
セルとその親の名前を同じ行に入れたい。
何かのようなもの-
subcellA1-cellA subcellA2-cellA subsubcellA1- subcellA1 subsubcellA2- subcellA2
セル名の代わりに親IDを指定するクエリがあります。IDの代わりに親の名前を取得するにはどうすればよいですか。
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 * from cell_child as cc