есть ли функция, чтобы поменять значение следующего столбца строки на текущее значение столбца строки в sql - PullRequest
2 голосов
/ 06 июня 2019
Column1 Column2 Column3
Row1    x1  x2  y2
Row2    y1  y2  z2
Row3    z1  z2  (next row4 column2.value)

Я пытаюсь получить SQL-запрос, где я должен напечатать column3 из row2.column2

1 Ответ

3 голосов
/ 06 июня 2019

Я полагаю, что LAG вам нужно:

SQL> with test (id, col1, col2, col3) as
  2    (select 1, 'x1', 'x2', null from dual union all
  3     select 2, 'y1', 'y2', null from dual union all
  4     select 3, 'z1', 'z2', null from dual
  5    )
  6  select id, col1, col2, lead(col2) over (order by id) col3
  7  from test
  8  order by id;

        ID COL1 COL2 COL3
---------- ---- ---- ----
         1 x1   x2   y2
         2 y1   y2   z2
         3 z1   z2

SQL>

Я включил столбец ID, так как вам нужно что-то, чтобы упорядочивать строки. Не обязательно должно быть ID, могло бы быть какое-то значение даты или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...