我需要取消透视 SAP HANA 中的一些数据。我设置了一个示例表来尝试一下,但我仍然一无所获。
实际的表包含 1000 个 ID 和大约 50 个列,但我想对许多表执行此操作,因此虽然我可以指定 FieldNames(原始列),但如果有一个自动化解决方案就更好了。
这是我设置的示例表:
我想将结果转换成这种形式:
注意:“?”代表NULL。
创建示例表:
create local temporary table #example
(
ID NVARCHAR(255),
Name NVARCHAR(255),
Country NVARCHAR(255),
Balance Decimal(18,2)
);
insert into #example values('ID1','Bill','USA', 100);
insert into #example values('ID2','','', 45);
insert into #example values('ID3', NULL,NULL, 768);
insert into #example values('ID4',NULL,'France', 42);
这是一个需要我指定列名和类型转换的解决方案:
(感谢 jarlh 的工会建议)
select
"ID",
'Country' as "FieldName",
"COUNTRY" as "FieldValue"
from #example
union all
select
"ID",
'Name' as "FieldName",
"NAME" as "FieldValue"
from #example
union all
select
"ID",
'Balance' as "FieldName",
CAST("BALANCE" as NVARCHAR) as "FieldValue"
from #example
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)