Я пытаюсь преобразовать столбцы в строки, как в примере ниже.
_________________________________ ROW | Columns | values_
|Column1 | Column2 | Column3 _____________________________
_________________________________ 1 | 1 | 12
Row 1| 12 | 25 | 11 1 | 2 | 25
Row 2| 30 | 5 | 15 --> 1 | 3 | 11
2 | 1 | 30
2 | 2 | 5
2 | 3 | 15
Для решения этой проблемы я использовал следующее утверждение
with t as (
<my query which builds the cross tab>
)
select t.Row,
(case when n.n = 1 then Column1
when n.n = 2 then Column2
when n.n = 3 then Column3
end) as values_
from t cross join
(select 1 as n from sysibm.sysdummy1 union all
select 2 from sysibm.sysdummy1 union all
select 3 from sysibm.sysdummy1
) n;
, но получил следующую ошибку
ЗАЯВЛЕНИЕ НЕ МОЖЕТ ИСПОЛЬЗОВАТЬСЯ DB2 ИЛИ В УСКОРИТЕЛЕ (ПРИЧИНА 7).SQLCODE = -4742, SQLSTATE = 560D5, DRIVER = 4.19.56
У кого-нибудь есть подсказки, чтобы решить эту проблему?спасибо