SQL Server数据库动态交叉表的参考示例: --建立测试环境set nocount oncreate 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 in
SQL Server数据库动态交叉表的参考示例:
<CCID_CODE>--建立测试环境 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 */</CCID_CODE> 登录后复制 |
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号