欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【SQL Server数据库动态交叉表的参考示例】,下面是详细的分享!
SQL Server数据库动态交叉表的参考示例
以下为引用的内容:
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
以上所分享的是关于SQL Server数据库动态交叉表的参考示例,下面是编辑为你推荐的有价值的用户互动:
相关问题:oracle交叉表,动态SQL
答:CREATE OR REPLACE PACKAGE BODY "TEST1" as procedure sp_test(p_cursor out varchar2) is sqlstr varchar2(32767); begin sqlstr:='select name,'; for v_cur in (select distinct subject from test) loop sqlstr:=sqlstr||'sum(case subject... >>详细
相关问题:数据库是 什么是交叉表查询
答:交叉表是一种常用的分类汇总表格。使用交叉表查询,显示源于表中某个字段的汇总值,并将它们分组,其中一组列在数据表的左侧,另一组列在数据表的上部。行和列的交叉处可以对数据进行多种汇总计算,如:求和、平均值、记数、最大值、最小值等。... >>详细
相关问题:oracle交叉表,动态SQL
答:代码没有问题,只是你不会用工具 把下面内容存于C:\T.SQL,再在sql plus 命令行输入:@C:\T 即得到结果! CREATE OR REPLACE PACKAGE TEST2 as TYPE t_cursor IS REF CURSOR; --定义游标变量用于返回记录集 procedure sp_test(p_cursor out t_cursor... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
