You can combine CASE
with LEAD()
. Assuming you are ordering by step
the query can look like:
select
t.*,m
case when lead(letter) over(order by step) = 'D'
then 1 else 0 end as is_next_row_letter_d
from t
solved How to determine next row value using select and case in SQL server?