Ako imaš na raspolaganju window funkciju LEAD
Code:
SELECT
kraj,
LEAD(pocetak, 1)
OVER (ORDER BY pocetak)
AS next_pocetak
FROM termini
WHERE kraj < next_pocetak
ORDER BY pocetak
Ako nemaš
Code:
SELECT
t.kraj,
(
SELECT MIN(t2.pocetak)
FROM termini as t2
WHERE t2.pocetak >= t.pocetak
) AS next_pocetak
FROM termini as t
WHERE kraj < next_pocetak
ORDER BY t.pocetak
Dobit ćeš slobodne termine izmedju već zakazanih. Nećeš dobiti ništa ako nemaš zakazanih termina i nećeš dobiti slobodno vrijeme prije prvog termina i nakon zadnjeg, ali to ćeš vjerovatno znati dodati.