with preduslovi (predmet, uslovni_predmet) as

    ( 
--    Inicijalni SELECT

      select koren.idpredmeta, koren.iduslovnogpredmeta
      from   db.uslovnipredmet koren
      where  koren.idpredmeta in (select id from db.predmet where naziv='Релационе базе података')
      
      union all

--    Iterativni SELECT      
      select dete.idpredmeta, dete.iduslovnogpredmeta
      from   preduslovi roditelj, db.uslovnipredmet dete
      where  roditelj.uslovni_predmet=dete.idpredmeta
    )
    
-- Glavni SELECT    
select distinct (select char(naziv,50) from db.predmet b where b.id=a.predmet) as "Predmet", 
                (select char(naziv,50) from db.predmet b where b.id=a.uslovni_predmet) as "Uslovni predmet"
from   preduslovi a
order  by 1 desc;
