标准动态行专列
来源:互联网 发布:怎么改linux子目录权限 编辑:程序博客网 时间:2024/04/27 15:12
if OBJECT_ID('tab') is not null
drop table tab
GO
create table tab([A] int ,[B] varchar(10), [C] varchar(10),[count] int)
insert tab
select 1,'产品1','不良1',12 union all
select 1,'产品2','不良3',23 union all
select 1,'产品1','不良2',5 union all
select 2,'产品3','不良1',9 union all
select 2,'产品4','不良5',30 union all
select 2,'产品3', null, 0 union all
select 2,'产品1', null, 0 union all
select 2,'产品4', null, 0 union all
select 2,'产品1', null, 0 union all
select 2,'产品2', null, 0 union all
select 2,'产品4','不良4',70
declare @sql nvarchar(4000)
set @sql='select a,b'
select @sql=@sql+', sum(case c when '''+isnull(c,'')+''' then [count] else 0 end) as '''+c+'''' from tab where c is not null group by c
set @sql=@sql+' from tab group by a,b'
exec(@sql)
----------- ---------- ----------- ----------- ----------- ----------- -----------
1 产品1 12 5 0 0 0
2 产品1 0 0 0 0 0
1 产品2 0 0 23 0 0
2 产品2 0 0 0 0 0
2 产品3 9 0 0 0 0
2 产品4 0 0 0 70 30
(6 行受影响)
a b 不良1 不良2 不良3 不良4 不良5
- 标准动态行专列
- 标准行专列
- 行专列
- mysql行专列
- C# DataTable 行专列
- ORACLE行专列转换
- sql 2005 行专列
- mysql 行专列
- mysql 行专列
- ORACLE行专列转换总结
- Oracle行专列函数Listagg()
- Oracle行专列函数Listagg()
- hive 行专列 列转行
- hive行专列,列转行
- 【转载】sql 行专列经典
- oracle行专列,求总值
- 在论坛中出现的比较难的sql问题:26(动态行专列+合并字符串、补足行数)
- REGEXP_SUBSTR函数,感觉像行专列
- Asp.net调用Access存储过程
- 查看oracle的版本信息和初始化系统管理员和密码
- GPRS开发系列文章之入门篇
- 别了,2010年南非世界杯足球赛
- C#中关于文件读写操作和注册表操作
- 标准动态行专列
- oracle外连接详解
- my first note
- Lynis Documentation and installation guide
- 权限设置很重要
- Informix支持中文建库方法
- ORA-12505, TNS:listener does not currently know of SID given in connect desc
- jQuery上传插件Uploadify使用详解
- 纪念即将结束的学生生涯