Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Obter a linha anterior e seguinte das linhas selecionadas com condições (WHERE)


você não especificou seu DBMS, então o seguinte é ANSI SQL:
select prev_word, word, next_word
from (
    select id, 
           lag(word) over (order by id) as prev_word,
           word,
           lead(word) over (order by id) as next_word
    from words
) as t
where word = 'name';

SQLFiddle:http://sqlfiddle.com/#!12/7639e/1