1 / 3
文档名称:

SQLServer:SQL实现动态交叉表.docx

格式:docx   大小:11KB   页数:3页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQLServer:SQL实现动态交叉表.docx

上传人:夜紫儿 2022/7/13 文件大小:11 KB

下载得到文件列表

SQLServer:SQL实现动态交叉表.docx

相关文档

文档介绍

文档介绍:SQLServer:SQL实现动态交叉表
GO
  SET ANSI_NULLS ON
  GO
  ALTER procedure CrossTable
  ***@strTableName as varchar(50)=’’, --

SQLServer:SQL实现动态交叉表
GO
  SET ANSI_NULLS ON
  GO
  ALTER procedure CrossTable
  ***@strTableName as varchar(50)=’’, --查询表
  ***@strCol as varchar(50)=’’,
  ***@strGroup as varchar(50)=’’,--分组字段
  ***@strNumber as varchar(50)=’’,--被统计的字段
  ***@strCompute as varchar(50)=’Sum’--运算方式
  as
  declare ***@strSql as varchar(1000),***@strTempCol as varchar(100)
  execute (’DECLARE corss_cursor CURSOR FOR SELECT DISTINCT ’+***@strCol+’ from ’+***@strTableName+’ for read only’) --生成游标
  begin
  set nocount on
  set ***@strSql=’select ’+***@strGroup+’,’+***@strCompute+’(’+***@strNumber+’) as [’+***@strNumber+’]’


  open corss_cursor
  while(0=0)
  begin
  fetch next from corss_cursor
  into ***@strTempCol
  if(@***@fetch_status 0) break
  set ***@strSql=***@strSql+’,’+***@strCompute+’( case ’+***@strCol+’ when ’