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

一道sql笔试题 - MS-SQL Server / 基础类

一道sql笔试题
 悬赏分:0 - 解决时间:2009-11-3 12:01 
姓名 课程 成绩
张三 语文 100
张三 数学 60
张三 英语 80
李四 语文 90
李四 数学 70
李四 英语 80
将其变成
姓名 语文 数学 英语
这种形式输出,用sql语句实现 

转的邹老大的
http://blog.csdn.net/sql_lover/archive/2010/05/04/5556828.aspx

SQL code:
select 姓名,
max(case when 课程='语文' then 成绩 else 0 end) as 语文,
max(case when 课程='数学' then 成绩 else 0 end) as 数学,
max(case when 课程='英语' then 成绩 else 0 end) as 英语
from tb
group by 姓名


额,应该是dawugui的 呵呵~~~~

用max只能取最大值一个,我想要在把其他的值全取出来

楼主是sql 2000 还是 2005 呢? 

如果是2005的话可以自己使用pivot和unpivot来处理。。

sql 2000

引用

用max只能取最大值一个,我想要在把其他的值全取出来


本来就只有一个值


相关问答:

求一sql语句 - MS-SQL Server / 疑难问题

现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......

SQL语句问题 - MS-SQL Server / 疑难问题

请教高手:
 以下是数据库中的三条记录,英文为字段名称  
  id planname TaskBeginTime Status
329 2010年03 ......

mysql区没高手 - MS-SQL Server / 基础类

我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......

一条 SQL - Oracle / 基础和管理

有这样一条SQL
 Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
 
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......

sql语句问题 - Java / Web 开发

select o_customer,o_price from orders having o_price >=avg(o_price)
select o_customer,o_price from orders where o_price >=(select avg(o_price) from orders)
我感觉没有区别啊,怎么在mysql会有 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号