--临时表是否存在
if object_id('tempdb..#TempTable') is not null Begin
drop table #TempTable
end
--创建临时表
create table #TempTable(
TestSN nvarchar(50),
TestValues decimal(18,4),
TestRemark nvarchar(300)
)
--添加数据
insert into #TempTable values('20230710001',10.12,'test'),('20230710002',10.13,'test'),('20230710003',10.14,'test'),('20230710004',10.15,'test')
declare @ColName nvarchar(max)
declare @Sql nvarchar(max)
--拼接转列行数据
set @ColName= stuff((select ',['+TestSN+']' from #TempTable for xml path('')),1,1,'')
--拼接sql
SET @Sql='select DISTINCT *
from #TempTable as C
PIVOT( max(TestValues) FOR TestSN IN ('+ @ColName +') ) AS T'
EXEC(@Sql)
sql使用PIVOT函数进行行转列
SQL操作:创建并使用临时表进行数据处理
最新推荐文章于 2025-09-25 12:45:00 发布
该文章展示了如何在SQL中检查并删除临时表#TempTable,然后创建一个新的临时表,填充数据,并使用Pivot操作将数据列转换为行。通过动态SQL执行查询,实现特定列值的最大值转换。
1322

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



