ALTER SESSION SET NLS_TERRITORY='TURKEY'; SELECT t.tarih, NVL(ig.bir_sonraki_is_gunu, LAG(ig.bir_sonraki_is_gunu IGNORE NULLS) OVER (ORDER BY t.tarih ASC)) AS bir_sonraki_is_gunu, NVL(ig.iki_sonraki_is_gunu, LAG(ig.iki_sonraki_is_gunu IGNORE NULLS) OVER (ORDER BY t.tarih ASC)) AS iki_sonraki_is_gunu FROM tarihler t LEFT JOIN ( SELECT a.tarih, TO_CHAR(a.tarih,'D') haftanin_gunu, LEAD(a.tarih,1) OVER (ORDER BY a.tarih ASC) AS bir_sonraki_is_gunu, LEAD(a.tarih,2) OVER (ORDER BY a.tarih ASC) AS iki_sonraki_is_gunu FROM tarihler a WHERE TO_CHAR(a.tarih,'D') in ( '1','2','3','4','5') AND NOT EXISTS (SELECT 1 FROM resmi_tatiller rt WHERE rt.tarih=a.tarih) ) ig ON ig.tarih = t.tarih ORDER BY 1;