在 SQL 中旋转数据 - TERADATA



尝试透视表数据以获取下图所示的输出。当前表 ---> 预期表。有人可以指导我吗? 在此处输入图像描述

Pivot 将列的行转换为单独的列,而 unpivot 则相反。在这里,在您的情况下,您希望值列具有其数据,因为下面的列同样在透视中获取值并考虑子句中的每个值IN

Select * from table
Pivot (value for value in
('1,234','5,678',...)

它类似于case when如果您希望对行数据进行列使用不同的名称,则将case when与分组方式一起使用

Select value, max(case when 
value='1234' then value end) as
Value1, max(case when... End) 
As value2.. From table group by id;

最新更新