Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Controlla se la data è compresa tra la data di inizio e la data di fine della riga precedente

Puoi farlo usando lag() in SQL Server 2012+. In SQL Server 2008, consiglierei un join :

select s.*,
       (case when s.start between s2.start and s2.end then 1 else 0 end) as flg
from sample s left outer join
     sample sprev
     on s.id = sprev.id + 1;