--行转列小实例 --创建测试表 if object_id(N"test", N"U") is not null drop table test Go with PivotTable as ( select "
--行转列小实例
--创建测试表
if object_id(N"test", N"U") is not null
drop table test
Go
with PivotTable as
(
select "xxx" as czy, "点赞" as czlx, 2 as num
uNIOn all
select "xxx", "浏览" as czlx, 14 as num
union all
select "yyy", "浏览" as czlx, 10 as num
union all
select "zzz", "浏览", 30
union all
select "zzz", "点赞", 3
)
select * into test from PivotTable
go
--创建存储过程
if exists(select name from sysobjects where name = "usp_GetPivotInfo")
drop proc usp_GetPivotInfo
go
create proc usp_GetPivotInfo
as
declare @czlx varchar(500),
@sql varchar(2000)
select @czlx = stuff((select distinct ",[" + czlx + "]" from test for xml path ("")),1,1,"")
--select @czlx
set @SQL = "select czy, {#} from test pivot(sum(num) for czlx in ({#})) as T";
set @SQL = replace(@SQL, "{#}", @czlx);
exec(@SQL);
go
exec usp_GetPivotInfo ;
--结束END--
本文标题: 一个简单的交叉报表
本文链接: https://lsjlt.com/news/5505.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0