易截截图软件、单文件、免安装、纯绿色、仅160KB

求一个SQL查询语句

数据库中有表如下
名称  类别
a      1
b      2
c      3
......
要实现查询结果如下
1  2    3
a  b    c
其中1,2,3是查询结果的字段名称,1,2.3不是固定的,根据实际的数据来确定

请问怎么样可以实现?
谢谢
行列转换!!!!!!



SQL code:
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 '数学' the


相关问答:

jsp链接sql2000的疑问?



type Exception report


message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jas ......

SQL如何优化问题 - MS-SQL Server / 疑难问题

今天做了一个存储过程   环境是SQL2000数据库  
大致如下
建立临时表
定义员工游标
        循环员工(属于1个公司)  
        ......

SQL clr - MS-SQL Server / 非技术版

想用SQL CLR做如下的存储过程,但是发现报错: 
{由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。} 
而且如果数据从case 1通过时就是正确的,从case 2通过时错误 
并且在c ......

求一sql语句 - MS-SQL Server / 基础类


id bh  
1 10
2 11
3 12 
4 15
5 16
6 22
7 25
8 26
9 27
10 28
将bh按连续分段出来返回字符串:
10~12,15~16,22,25~28
SQL code:


declare @t tabl ......

请问ASP如何连接多个SQL SERVER? - Web 开发 / ASP

有两个或以上的远程数据库,如何用ASP检测连接速度并连接最快的MSSQL数据库?

有这样的ASP函数吗?我GOOGLE了一下,找不到。

PHP+MYSQL下有这种例子:
PHP code:

Example:
$wgDBservers = array(
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号