Hana sql переместить ячейки влево в sql, если слева указано значение null, а справа - значение - PullRequest
0 голосов
/ 11 апреля 2020

У меня та же проблема, которая описана в приведенной ниже ссылке, однако она указана для sql сервера, но мне нужно решение для Hana db Переместить ячейки влево в sql, если в левом поле указано значение NULL, а в правом - значение *. 1002 *

1 Ответ

1 голос
/ 11 апреля 2020

Хммм. , , В Hana я думаю, что вы можете unpivot, используя union all, затем row_number() и агрегацию:

select id,
       max(case when order = 1 then val end) as a,
       max(case when order = 2 then val end) as b,
       . . .
from (select id, val, row_number() over (partition by id rder by ord) as as
      from ((select 1 as ord, id, a as val from t) union all
            (select 2 as ord, id, b as val from t) union all
            . . . 
           ) t
      where val is not null
     ) t
group by id;

Здесь id относится к столбцам или группам столбцов, которые уникально определяют каждую строку.

...