[英]How to convert SQL Unpivot query to HANA SQL?
如何將以下使用unpivot
SQL Server 查詢轉換為 HANA SQL 查詢。
SELECT
p.CardName,
REPLACE(p.groupcode1, 'QryGroup', '') groupcode1,
ocqg.GroupName
FROM
ocrd
UNPIVOT
(value
FOR groupcode1 IN ([QryGroup1], [QryGroup2], [QryGroup3], [QryGroup4],
[QryGroup5], [QryGroup6], [QryGroup7], [QryGroup8],
[QryGroup9], [QryGroup10], [QryGroup11], [QryGroup12],
[QryGroup13], [QryGroup14], [QryGroup15],[QryGroup16],
[QryGroup17], [QryGroup18], [QryGroup19],[QryGroup20],
[QryGroup21], [QryGroup22], [QryGroup23],[QryGroup24],
[QryGroup25], [QryGroup26], [QryGroup27],[QryGroup28],
[QryGroup29], [QryGroup30], [QryGroup31],[QryGroup32],
[QryGroup33], [QryGroup34], [QryGroup35],[QryGroup36],
[QryGroup37], [QryGroup38], [QryGroup39],[QryGroup40],
[QryGroup41], [QryGroup42], [QryGroup43],[QryGroup44],
[QryGroup45], [QryGroup46], [QryGroup47],[QryGroup48],
[QryGroup49], [QryGroup50], [QryGroup51],[QryGroup52],
[QryGroup53], [QryGroup54], [QryGroup55],[QryGroup56],
[QryGroup57], [QryGroup58], [QryGroup59],[QryGroup60],
[QryGroup61], [QryGroup62], [QryGroup63],[QryGroup64])
) as p,
ocqg
WHERE
value = 'Y'
AND ocqg.GroupCode = REPLACE(p.groupcode1, 'QryGroup', '')
ORDER BY
p.CardCode
我不認為 Hana SQL 支持橫向連接(SQL Server 中的apply
關鍵字)。 一種方法是union all
:
select og.*
from (select o.cardname, g.groupcode,
(case when g.groupcode = 1 then groupcode1
when g.groupcode = 2 then groupcode2
. . .
when g.groupcode = 64 then groupcode64
end) as groupname
from ocrd o cross join
(select 1 as groupcode from dummy union all
select 2 as groupcode from dummy union all
. . .
select 64 as groupcode from dummy
) g
) og
where og.groupname is not null;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.