今天有个同学要做行转列的问题,把实现过程记录一下
首先把同学要实现的原表晒出来,大家看下
这是同学要实现的效果,主要是一行转多行的效果,且转换前不知道有多少唯一行值该转为列
下面直接贴代码,仅供大家参考,如果有疑问请联系我qq,2625526306,有偿代写sql,原创,转载需备注,谢谢
- 知识点,pivot的用法,语法如下
- SELECT ,
[first pivoted column] AS ,
[second pivoted column] AS ,
…
[last pivoted column] AS
FROM
(<查询表或者子查询作为数据源>)
AS 表别名
PIVOT
(
<聚合函数>(<被聚合的列>)
FOR
[<待转换的列名称,此列的多个唯一值将被转换为列标题>]
IN ( [first pivoted column], [second pivoted column],
… [last pivoted column])
) AS <旋转表的别名>
<可选的排序子句 order by >;
可以使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表。 PIVOT 轮换表值表达式,具体方法是将表达式某一列中的唯一值转换为输出中的多个列,并在必要时对最终输出中所需的其余任何列值运行聚合。 与 PIVOT 执行的操作相反,UNPIVOT 将表值表达式的列轮换为列值。
if object_id('tem

本文记录了如何在SQL Server中解决动态行转列问题,特别是将一行数据转换为多列。通过示例展示了Pivot的用法,包括其语法和聚合函数的应用,帮助读者理解如何处理未知数量的唯一行值转化为列。
最低0.47元/天 解锁文章
4602

被折叠的 条评论
为什么被折叠?



