with preduslovi (predmet, uslovni_predmet) as

    ( 
--    Inicijalni SELECT

      select koren.id_predmeta, id_uslovnog
      from   uslovni_predmet koren
      where  koren.id_predmeta in (select id_predmeta from predmet where naziv='Relacione baze podataka')
      
      union all

--    Iterativni SELECT      
      select dete.id_predmeta, dete.id_uslovnog
      from   preduslovi roditelj, uslovni_predmet dete
      where  roditelj.uslovni_predmet=dete.id_predmeta
    )
    
-- Glavni SELECT    
select distinct (select char(naziv,40) from predmet b where b.id_predmeta=a.predmet) as "Predmet", 
                (select char(naziv,40) from predmet b where b.id_predmeta=a.uslovni_predmet) as "Uslovni predmet"
from   preduslovi a
order  by 1 desc;
