首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教这条sql语句怎么编写

2013-03-04 
请问这条sql语句如何编写?比如有一张表 tnamestatus001胜001胜001胜001负002胜002负查询结果name胜负00131

请问这条sql语句如何编写?
比如有一张表 t
name   status
001      胜
001      胜
001      胜
001      负
002      胜
002      负

查询结果
name   胜    负
001    3    1
002    1    1


请各位帮帮忙,谢谢O(∩_∩)O~
[解决办法]

select name,sum(case when status='胜' then 1 else 0 end)[胜],sum(case when status='负' then 1 else 0 end)[负] from tb group by name
[解决办法]
还是PIVOT的问题。
我看这里有很多同学对sql 2005以后的新语法认识不足。

create table tablename 
(name varchar(5),status nvarchar(2))
insert tablename values('001',      '胜')
insert tablename values('001',      '胜')
insert tablename values('001',      '负')
insert tablename values('002',      '胜')
insert tablename values('002',      '负')


select * 
from tablename
PIVOT (
count(status) for status in ([胜],[负])
) as PVT
order by name


如果回答正确请自觉访问峰哥的淘宝店,卖男装的。呵呵。
http://jmsail.taobao.com/


热点排行