Postgresql query für eine erste-n-Ebene Eltern-Kind-Beziehung gespeichert in einer einzelnen Tabelle

Ich habe eine Tabelle die angibt Eltern-Kind-Beziehungen. Die Beziehungen können wechseln n-Stufe tief.

Habe ich eine Beispiel-Tabelle mit der folgenden Abfrage:

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
);

SQLFiddle

Muss ich die Tabelle Abfragen und anzeigen der Eltern-Kind-Beziehungen hierarchisch. Ich bin noch immer nicht eine Idee über, wie man Abfragen n-Stufe tief mit sql-Abfrage.

Für die sqlfiddle zB die erwartete Hierarchie der Ausgabe:

rel1
    rel11
        rel111
        rel112
            rel1121
rel2
    rel21
        rel211
        rel212

N. B: Den Wert n in n-level ist unbekannt.

DB-Design:

Gibt es eine bessere Möglichkeit ein solches Verhältnis kann ausgedrückt werden in
Datenbank für einfache Abfragen.?

InformationsquelleAutor der Frage saji89 | 2013-02-02

Schreibe einen Kommentar