WITH tranzitivne_obmedzenia (id_obmedzenec, id_obmedzitel) AS
(
  SELECT id_hodnota1, id_hodnota2
  FROM obmedzenia
  WHERE id_hodnota1 NOT IN (SELECT id_hodnota2 FROM obmedzenia)
  
  UNION ALL
  
  SELECT tran_o.id_obmedzenec, o.id_hodnota2
  FROM tranzitivne_obmedzenia tran_o, obmedzenia o
  WHERE tran_o.id_obmedzenec = o.id_hodnota2
)
SELECT * FROM tranzitivne_obmedzenia