SET QUOTED_IDENTIFIER ON

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 ’’’+@strTempCol+’’’ then ’+@strNumber +’ else 0 end ) as [’+@strTempCol+’]’

end

set @strsql=@strSql+’ from ’+@strTableName+’ group by ’+@strGroup

print @strSql

execute(@strSql)

if @@error <>0 return @@error

print @@error

close corss_cursor

deallocate corss_cursor return 0

end

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

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

下载Word文档到电脑,方便收藏和打印[全文共700字]

编辑推荐:

下载Word文档

php动态交叉表,SQLServer:SQL实现动态交叉表相关推荐

  1. mysql多表查询sql优化_SQL多表查询优化

    SQL优化 1.执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就 ...

  2. mysql创建用户表的sql语句,mysql创建表的sql语句

    mysql 动态sql语句,如何用一款小工具大大加速MySQL SQL语句优化(附源,mysql分页查询sql语句,mysql创建表的sql语句 mysql建表语句_计算机软件及应用_IT/计算机_专 ...

  3. html 数据库 编写学生表,用sql语句创建学生表如何做

    在数据库中使用SQL语句创建学生表代码如下:( 学号 char(12) primary key, 姓名 char(6) not null, 性别 char(2) check(性别 IN ('男','女 ...

  4. oracle使用sql文件创建表,使用SQL*Loader创建外部表之一

    使用SQL*Loader创建外部表: ---创建目录对象并授权给Scott用户: SQL> create or replace directory loader_home as '/home/o ...

  5. oracle删除一张表的sql语句,oracle删除表的语句

    oracle删除一个用户下的表的sql语句是什么啊 删除用户所有表declarecursor c1 is select table_name from dba_tables where owner=' ...

  6. java动态交叉表,SqlServer如何生成动态交叉表查询

    为了说明问题,我们用SqlServer自带的事例数据库(Northwind)来进行验证,所有的例子请放到Northwind中运行,我可能会省略Use语句,所引用的表,都是Northwind中的,下面我 ...

  7. java连不上sql表,Java SQL“错误:关系”表_Name“不存在”

    我正在尝试将netbeans连接到我的 postgresql数据库.连接似乎有效,因为我只是连接时没有任何错误或异常,getCatalog()等方法也返回正确的答案. 但是当我尝试运行一个简单的SQL ...

  8. 使用SQL语句创建数据表(SQL Server)

    数据库 表的创建(SQL Server) 文章目录 数据库 表的创建(SQL Server) 使用SQL语句创建数据表 使用SQL语句创建数据表 CREATE TABLE的语法格式如下 databas ...

  9. 【实时数仓】Day04-DWS层业务:DWS设计、访客宽表、商品主题宽表、流合并、地区主题表、FlinkSQL、关键词主题表、分词...

    一.DWS层与DWM设计 1.思路 之前已经进行分流 但只需要一些指标进行实时计算,将这些指标以主题宽表的形式输出 2.需求 访客.商品.地区.关键词四层的需求(可视化大屏展示.多维分析) 3.DWS ...

  10. 在MySQL中实现交叉表查询2(动态交叉表)

    在MySQL中实现交叉表查询2(动态交叉表) 交叉表分为静态交叉表和动态交叉表.其中静态交叉表中的列是固定的,因此相对容易实现:而动态交叉表中的列需要动态生成. 一.静态交叉表的实现 参见上一篇文章: ...

最新文章

  1. JavaEE基本了解
  2. 人生失败的31种致命原因
  3. 【深度学习】从零开始 Mask RCNN 实战:基于 Win10 + Anaconda 的 Mask RCNN 环境搭建
  4. 万万没想到,枯燥的“机器学习”还可以这样学!
  5. 计算机语言学 自然语言处理程序,利用知网进行(计算机)自然语言处理
  6. 阿里云发布时间序列数据库TSDB,关于时序你了解多少?
  7. http响应头中X-Frame-Options的作用及危害
  8. 2018-12-25 上机作业
  9. java多线程详解(8)-volatile,Atomic比较
  10. react Link跳转无效_react常见的问题及解决办法
  11. Quartz.NET 入门
  12. 网页输入数据到mysql_为什么用PHP编写的网页中,输入的数据不能插入到Mysql数据库中?...
  13. linux系统下卸载rpm方式安装的mysql5.7.*
  14. jetty源码阅读总结1
  15. svg.draw.js draw rectangle 画矩形
  16. 第1章-确定superboot210如何为smart210的nand flash进行的分区划分
  17. keil4和烧录软件的基本使用
  18. 如何设置PPT里的表格行高等高
  19. C#,调用GDI32.DLL绘制图形的源程序
  20. 金徽酒前三季净赚2.43亿 预计年底前走进华东市场

热门文章

  1. ios控件 UIViewController
  2. C/C++中的static和extern关键字
  3. Win64下通过JNI(C++)创建jvm
  4. 优化配置ISA2006淹没缓解
  5. 20.MySQL 常用命令
  6. 23. 实例 --- 变量
  7. 24.磁盘配额(Quota)
  8. 131. 理解MVC
  9. 3. HTML DOM Attribute 对象
  10. 5. Adapter Pattern(适配器模式)