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