Хммм. , , В 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
относится к столбцам или группам столбцов, которые уникально определяют каждую строку.