WITH cl(id, idpotomok, popis) AS ( (SELECT c1.id, c2.id, c2.meno || ' ' || c2.priezvisko FROM rn_clovek c1, rn_clovek c2 WHERE (c2.id_otec=c1.id AND c1.id_otec IS NULL) OR (c2.id_matka=c1.id AND c1.id_matka IS NULL) ) UNION ALL ( SELECT cl.id, c.id, cl.popis || '\' || c.meno || ' ' || c.priezvisko FROM rn_clovek c, cl WHERE cl.idpotomok=c.id_otec OR cl.idpotomok=c.id_matka ) ) SELECT c.meno || ' ' || c.priezvisko, cl.* from cl join rn_clovek c on c.id=cl.id --------------- WITH cl(id, idpotomok, popis) AS ( (SELECT c1.id, c2.id, c2.meno || ' ' || c2.priezvisko FROM rn_clovek c1, rn_clovek c2 WHERE (c2.id_matka=c1.id AND c1.id_matka IS NULL) AND c2.pohlavie='Z' ) UNION ALL ( SELECT cl.id, c.id, cl.popis || '->' || c.meno || ' ' || c.priezvisko FROM rn_clovek c, cl WHERE cl.idpotomok=c.id_matka AND c.pohlavie='Z' ) ) SELECT cl.popis, c.meno || ' ' || c.priezvisko || '->' || cl.popis from cl join rn_clovek c on c.id=cl.id where c.pohlavie='Z' UNION ALL SELECT c.meno || ' ' || c.priezvisko, '-' FROM rn_clovek c WHERE c.id NOT IN (SELECT cl.idpotomok FROM cl) AND c.pohlavie='Z' ***************************************************************************************** ***************************************************************************************** ***************************************************************************************** ***************************************************************************************** ***************************************************************************************** WITH cl(id, idpotomok, popis) AS ( SELECT c1.id, c2.id, c2.meno || ' ' || c2.priezvisko FROM rn_clovek c1, rn_clovek c2 WHERE (c2.id_matka=c1.id AND c1.id_matka IS NULL) AND c2.pohlavie='Z' UNION ALL SELECT cl.id, c.id, cl.popis || '->' || c.meno || ' ' || c.priezvisko FROM rn_clovek c, cl WHERE cl.idpotomok=c.id_matka AND c.pohlavie='Z' ) SELECT c2.meno || ' ' || c2.priezvisko, c.meno || ' ' || c.priezvisko || '->' || cl.popis from cl join rn_clovek c on c.id=cl.id join rn_clovek c2 on c2.id=cl.idpotomok where c.pohlavie='Z' UNION ALL SELECT c.meno || ' ' || c.priezvisko, c.meno || ' ' || c.priezvisko FROM rn_clovek c WHERE c.id NOT IN (SELECT cl.idpotomok FROM cl) AND c.pohlavie='Z'