我有一张表显示亲子关系.这种关系可以深入到n级.
我使用以下查询创建了一个示例表:
CREATE SEQUENCE relations_rel_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
CREATE TABLE relations(
rel_id bigint DEFAULT nextval('relations_rel_id_seq'::regclass) NOT NULL PRIMARY KEY,
rel_name text,
rel_display text,
rel_parent bigint
);
我需要查询表并分层显示父子关系.关于如何使用SQL查询查询n级深度,我仍然不太了解.
对于sqlfiddle例如,预期的输出层次 struct :
rel1
rel11
rel111
rel112
rel1121
rel2
rel21
rel211
rel212
N.B: n-level
中的n值未知.
DB Design:
有没有更好的方式来表达这种关系呢? 数据库,便于查询.