动态生成SQL语句-行列转置
来源:互联网 发布:深圳乐其网络 编辑:程序博客网 时间:2024/05/20 16:35
create table tb(姓名 varchar(10),科目 varchar(20),成绩 int)
insert into tb(姓名,科目,成绩) values( '林 ','软件测试',90)
insert into tb(姓名,科目,成绩) values( '林 ','分布式数据库',70)
insert into tb(姓名,科目,成绩) values( '王 ','分布式数据库',80)
declare @sqlstr varchar(8000)
set @sqlstr ='select 姓名'
select @sqlstr = @sqlstr + ',sum(case 科目 when ''' + 科目 + ''' then 成绩 else 0 end) [' +
科目 + ']'
from (select distinct 科目 from tb) as a order by 科目 desc
set @sqlstr=@sqlstr + ',sum(成绩) as 总分 from tb group by 姓名'
select @sqlstr
exec(@sqlstr)
---'''不能去掉
生成SQL动态语句
select 姓名,
sum(case 科目 when '软件测试' then 成绩 else 0 end) [软件测试],
sum(case 科目 when '分布式数据库' then 成绩 else 0 end) [分布式数据库],
sum(成绩) as 总分
from tb group by 姓名
姓名 软件测试 分布式数据库 总分
林 90 70 160
王 0 80 80
- 动态生成SQL语句-行列转置
- 行列转置的SQL语句
- 行列转换-->动态SQL语句例子
- sql语句行列转至
- 动态生成sql语句
- 动态生成SQL语句
- SQL 行列转置
- 简化实现动态行列转置的SQL
- SQL语句行列转换
- 动态生成sql语句实例
- SQL动态行列倒转
- SQL动态行列变换
- oracle sql 行列转置
- 行列转换 经典SQL语句
- 动态生成并执行SQL语句
- 利用反射动态生成sql语句
- 动态生成SQL语句,对数据操作
- 关于Navicat的动态生成SQL语句
- 中国节气
- Symbian编程-集合与缓冲区(2)-验证RArray::Append是否保存对象副本
- 《程序员》VS 一代算法大师高德纳
- csdn
- Fedora yum命令详解
- 动态生成SQL语句-行列转置
- 中国服装品牌代理商五大问题分析
- 测试驱动开发(TDD)
- 一些收集的网站
- 水晶报表柱状图 图例显示的问题
- 汇编指令: LAHF、LAR、LDS、LES、LSS、LFS、LGS、LEA、LEA、LEAVE
- 行列转置
- 2008-12-15周记
- 谨防遗忘