我有一个带有以下结构的表
ID Category Value
1 Age 23
1 Income 10000
2 Age 30
2 Income 50000
我想旋转它,以便每个ID有一行
ID Age Income
1 23 10000
2 30 50000
我不确定在雪花dB中是否可能
编辑:实际表在类别因子中具有206个级别,因此我正在寻找一种程序化方法,而无需在查询中参考类别级别。
这样的东西应该通过使用案例语句为您提供所需的东西:
SELECT ID,
CASE WHEN Category = 'Age' THEN Value END as 'Age',
CASE WHEN Category = 'Income' THEN Value END as 'Income'
FROM TABLENAME
您可以使用条件聚合:
SELECT ID,
MAX(CASE WHEN Category = 'Age' THEN Value END) as Age,
MAX(CASE WHEN Category = 'Income' THEN Value END) as Income
FROM TABLENAME
GROUP BY ID;