生成交叉表的SQL基本语句
在企业信息化管理中,经常需要提供交叉表形式的数据给管理层。
如以月份为纵轴,客户销售金额为横轴。
以下以SQL自带数据库举例列出SQL语句:
--定义长度为8000的字符串变量@msql
declare @msql varchar(8000)
--横轴字段
select @msql=' select month(orderdate) as 月份'
--从订单表中取出一定条件(where orderdate between '1996-07-01' and '1996-07-31')范围内
--所有客户ID并连接至@msql
select @msql=@msql+',Sum(CASE WHEN Customerid='''+rtrim(customerid)+''' then Freight else 0 end) as ['+rtrim(customerid)+']'
from (select distinct Customerid from orders where orderdate between '1996-07-01' and '1996-07-31')A
--上面语句是生成交叉表横轴的关键
--在一定条件范围取数并按横轴字段汇总
select @msql=@msql+' from orders where orderdate between ''1996-07-01'' and ''1996-07-31'' group by month(orderdate)'
--执行
EXEC (@MSQL)
总结:1.生成的字符串长度不能超过8000,否则出错
2.以上是最基本的生成交叉表的SQL语句,在实际应用中,可加入多重条件、左右关联等等从而得到更复杂的结果
生成交叉表的SQL基本语句相关推荐
- 数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)
一.利用写好的数据库表生成创建表的sql语句 1.简单创建一个数据库,并建一个表,并编辑数据. a.建库 b.建表 c.编辑表,保存时输入表名 d.刷新一下,出来了 e.转存导出sql文件. 二.利用 ...
- 生成交叉表的简单通用存储过程
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_qry]') and OBJECTPROPERTY(id ...
- 如何生成表_SPSS简单操作 | 如何生成交叉表?
(。・∀・)嗨!学堂君,今天讲什么内容呢? 今天要分享的是如何生成交叉表. 什么是交叉表呀? 如果说交叉表可能大家会比较陌生,但是说到列联表可能就会比较熟悉.交叉表是我们在操作SPSS进行列联表分析时 ...
- mysql 交叉表 存储过程_用于生成交叉表的存储过程的存储过程
以前总是在网上搜一些交叉表生成的相关代码 但是使用起来总是很复杂 看看 刚出炉的东西对你来说是不是有所帮助 :_) 先看看下一个生成的存储过程 :SQLServer2000 Create Proced ...
- SqlServer生成交叉表大全
SqlServer如何生成动态交叉表查询 VB+MS SqlServer,是我们目前开发数据库应用系统最常用的模式,翻翻以前的老帖子,有一些SqlServer的问题经常被提出来,但正确解答甚少,现把 ...
- 数据恢复利器:通过frm文件恢复数据表的sql结构语句
如果数据库崩溃又没有做数据备份,只有.frm表结构文件,怎么做表的结构恢复?下面介绍两种方法 了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.fr ...
- mysql批量生成修改表和列注释语句
当我们在一个数据库修改完备注后,需要将其导致另一个服务器上的数据库中,需要生成批量执行语句,方便操作,注意用change 或modified 进行列的属性修改时,没有写全的话会造成其它属性的丢失,如 ...
- excel自动生成创建表sql语句
Sub 选项按钮4_Click()Dim sqlStr, sqlTemp, pkStr, columnName, columnType, columnLength, isPk, notExistTab ...
- mysql基本表管理sql语句
管理表记录 insert into 表名 values(字段值列表) 增 select 字段名 -字段N from 表名: 查 select 字段名.. 字段N from表名 where 条件 upd ...
- 数据库系统原理与应用教程(052)—— MySQL 的数据完整性(十四):交叉表查询(行列转换)
数据库系统原理与应用教程(052)-- MySQL 的数据完整性(十四):交叉表查询(行列转换) 目录 数据库系统原理与应用教程(052)-- MySQL 的数据完整性(十四):交叉表查询(行列转换) ...
最新文章
- python操作Mysql基础
- f_bfree和f_bavail的区别
- 在sql中将表建在别的构件中用什么语句_SQL实战
- C语言(第二章):数据类型、运算符、表达式
- 数独游戏技巧从入门到精通_中国茶艺技巧:500集从入门到精通教程,视频+素材+笔记...
- 解线性方程组的迭代法(高斯-塞德尔迭代法)
- c语言实现linux下的top命令来获取cpu利用率_Linux性能调优之CPU性能优化
- 郝斌数据结构教学视频下载地址
- C语言实现抽签小功能
- 嵌入式在生活中的应用
- python访问陌生人qq空间_自己的QQ空间怎么不让陌生人进入—设置访问权限
- AXI协议中的BURST
- 英语知识系列:单词中元音字母发音规律
- 基于python代码的3D地图可视化
- 使用Linux命令cURL实现文件定时上传到ftp服务器的程序
- 软件测试之黑盒测试方法介绍及测试用例练习
- vs,vs code,Dev
- 树莓派3B+如何完成对产品的升级改造
- Tesra超算网络AI训练的使用流程
- 华为服务器带外如何修改,华为服务器带外地址修改器
热门文章
- linux安装gcc等程序包,Linux手动安装gcc-8.3.0
- python urlretrieve下载进度_python《文件下载进度显示》 urllib.request.urlretrieve(self.__path,self.__name,jindu)...
- 最详细的java思维导图
- Java性能优化的七个方向
- 用jsp编写一个猜26个小写英文字母的web小游戏
- [计算机网络][内容梳理]四、网络层
- JAVA开发一个合并单元格报表_9、docx4j实现动态表格(编程式)单元格合并
- 【C语言】C语言读取文本文件
- 2022年深圳有哪些好玩的小镇古城推荐
- IDEA 删除本地文件时,SVN服务器上文件无法删除解决办法