create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)
insert into tb values('张三' , '语文' , 74)
insert into tb values('张三' , '数学' , 83)
insert into tb values('张三' , '物理' , 93)
insert into tb values('李四' , '语文' , 74)
insert into tb values('李四' , '数学' , 84)
insert into tb values('李四' , '物理' , 94)
select UserName,sum(case when Subject= '数学' then Score else 0 end) [数学],sum(case when Subject= '物理' then Score else 0 end) [物理],sum(case when Subject= '语文' then Score else 0 end) [语文]
declare @sql varchar(1000)
set @sql='select UserName'
select @sql=@sql+',sum(case when Subject= ''' +Subject+ ''' then Score else 0 end) ['+Subject+']' from (select distinct Subject from tb)a
set @sql = @sql + ' from tb group by UserName'
print @sql
exec(@sql)
--讲解:
--这个是第一次执行
select 姓名,max(case 课程 when '数学' then 分数 else 0 end) [数学],
--这个是第二次
select 姓名,max(case 课程 when '数学' then 分数 else 0 end) [数学], max(case 课程 when '物理' then 分数 else 0 end) [物理] ,
--这个是第三次
select 姓名,max(case 课程 when '数学' then 分数 else 0 end) [数学], max(case 课程 when '物理' then 分数 else 0 end) [物理] , max(case 课程 when '语文' then 分数 else 0 end) [语文]
--这个的数量来自于
(select distinct 课程 from tb)--这里只有3们课程
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go
create function dbo.f_str(@id int) returns varchar(100)
as
begin
declare @str varchar(1000)
set @str = ''
select @str = @str + ',' + cast(value as varchar) from tb where id = @id
set @str = right(@str , len(@str) - 1)
return @str
end
go
--调用函数
select id , value = dbo.f_str(id) from tb group by id
drop function dbo.f_str
drop table tb
我只说一个地方
select @str = @str + ',' + cast(value as varchar) from tb where id = @id
你把这个看懂就明白了
例如当@id=1
select @str = @str + ',' + cast(value as varchar) from tb where id = 1
把满足id=1的str值通过','累加
当id是动态的就是1或者2...是当满足1的查询完了,把值付给str之后
在查询满足2的直到所有的ID完为止
这样明白了吧
分享到:
相关推荐
资源包含文件:设计报告word+项目源码及数据库SQL文件 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/127615819
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
开发工具:VS2005+SQL2000 页面布局:CSS+DIV 模块: 个人简介(Flash+XML) 个人日志 Flash 相册 个人档 留言板 后台/admin 账号:admin 密码:123456 (MD5加密) 修改数据库链接文件Web.config里面的信息为你...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机专业学习经验 http://download.csdn.net/source/450223 1994-2008年考研英语历年阅读题短文 http://download.csdn.net/source/450220 计算机专业学习经验 http://download.csdn.net/source/449345 计算机专业...
计算机数据库系统及应用(SQL)附带考试答案 本文链接:https://blog.csdn.net/Candy5204/article/details/124920972 什么是主从式结构的数据库系统,它有什么优点和缺点。 主从式结构是指一台主机带多个终端的多...
这个资源是《Microsoft SQL Server 2005 技术内幕 T-SQL》附带的源码。 为了方便下载《Microsoft SQL Server 2005 技术内幕》这本中文的pdf电子书,...第四部分的下载地址:http://download.csdn.net/source/2922769
1.数据库为sqlserver,将Data下的数据文件附加到Sqlserver数据库 2.系统安装IIS后,在IIS里建立虚拟目录,路径指向TICKETS,配置用户权限,可以在IE里输入127.0.0.1/LOGIN.ASPX,可以执行。 3.系统的高级管理员用户名...
支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、DM(达梦)、PowerDesigner文件、Informix、Firebird、MaxDB、Excel等和OleDb、ODBC连接的数据库并可自定义,详见...
博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491 博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491 博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491...
http://download.csdn.net/source/1988257 part2: http://download.csdn.net/source/1988297 part3: http://download.csdn.net/source/1988320 -----------------------------------------------------------------...
学习sql server 和sql 的两本经典的著作: 《sql server 2005 技术内幕 T-SQL查询》 《sql server 2005 技术内幕 T-SQL程序设计》 网上大多的资源都是英文的,好容易找到中文的了,上传上来和大家分享。 这两本书都...
内存表数据结构是指在内存中建立类似传统关系数据库管理系统(ORCALE、MS SQL SERVER)建立的...http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Ffreeland008 本附加包括:动态库、头文件、用户文档、demo。
http://download.csdn.net/source/1988257 part2: http://download.csdn.net/source/1988297 part3: http://download.csdn.net/source/1988320 -----------------------------------------------------------------...
书名:《SQL Server 2005数据库系统开发案例精选》 出版社:人民邮电出版社 页数:443 (页) ISBN:978-7-115-16149-9 字数:718 (千字) ...part4: http://download.csdn.net/source/2896660