sqlserver一个动态交叉表的范例

隆尧灯笼鬼

隆尧灯笼鬼

2016-02-19 16:02

下面请跟着图老师小编一起来了解下sqlserver一个动态交叉表的范例,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

  社区问的人太多了,保存一个备用

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  --建立测试环境

set nocount on
create table test(model varchar(20),date int ,qty int)
insert into test select 'a','8','10'
insert into test select 'a','10','50'
insert into test select 'b','8','100'
insert into test select 'b','9','200'
insert into test select 'b','10','100'
insert into test select 'c','10','200'
insert into test select 'd','10','300'
insert into test select 'e','11','250'
insert into test select 'e','12','100'
insert into test select 'f','12','150'
go

  --测试

declare @sql varchar(8000)
set @sql='select model,'
select @sql=@sql+'sum(case when date='''+cast(date as varchar(10))+''' then qty else 0 end)['+cast(date as varchar(10))+'],'
from (select distinct top 100 percent date
from test order by date)a
  
set @sql =left(@sql,len(@sql)-1)+' from test group by model'
  
exec(@sql)

  --删除测试环境

drop table test
set nocount off
  
/**//*
model        8      9      10     11     12
-------------------- ----------- ----------- ----------- ----------- -----------
a          10     0      50     0      0
b          100     200     100     0      0
c          0      0      200     0      0
d          0      0      300     0      0
e          0      0      0      250     100
f          0      0      0      0      150
*/

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

sqlserver一个动态交叉表的范例

编程语言 网络编程
sqlserver一个动态交叉表的范例

经常用到的交叉表问题,一般用动态SQL能生成动态列!

SQLServer
经常用到的交叉表问题,一般用动态SQL能生成动态列!

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

不错的一个日期输入 动态

Web开发
不错的一个日期输入 动态

将列更新从一个表传递到另一个表

SQLServer
将列更新从一个表传递到另一个表

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL下将一个表的数据插入到另外一个表的实现语句

编程语言 网络编程
MySQL下将一个表的数据插入到另外一个表的实现语句

在SQLSERVER里写了一个Split函数

编程语言 网络编程
在SQLSERVER里写了一个Split函数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10正式版为什么很费电?

Win10正式版为什么很费电?

Win10通知栏显示哪些图标设置教程

Win10通知栏显示哪些图标设置教程
下拉加载更多内容 ↓