WITH POM (Z, Do, PoslLinka, pocprestup, cas_celkom, poczast, uroven) AS
(SELECT kod_od, kod_do, kod, 0, cas_min, 1, 0
FROM I1Trasa
WHERE KOD_OD = 'buzna'
UNION ALL
SELECT P.Z, T.kod_do, T.kod, 
CASE WHEN P.PoslLinka = T.kod THEN P.pocprestup ELSE P.pocprestup+1 END,
P.cas_celkom+T.cas_min, P.poczast+1, P.uroven+1
FROM POM P, I1Trasa T
WHERE P.Do = T.KOD_OD
and pocprestup < 2
)
SELECT * 
FROM POM
WHERE Do = 'poli'
and cas_celkom = (SELECT min(cas_celkom) from POM where do = 'poli')