sqlserver把行转成列在我们编码中是经常遇到的我做一个小例子大家看一下
1 --创建一个表
2 create table PayPhoneMoney
3 (
4 id int identity(1,1),
5 userName Nvarchar(20),128)"> 6 payType nvarchar( 7 money decimal,128)"> 8 payTime datetime,128)"> 9 constraint pk_id primary key(id)
10 )
11 插入点数据12 insert into PayPhoneMoney values('小李',支付宝20,0)">2012-01-03')
13 小陈工行2012-01-0614 小赵交行50,128)">15 60,128)">16 30,0)">2012-01-1617 小张中行18 ')
看一下表中的数据
我们要想查一下每个人所有支付形式下的总钱数如图所示
1 查一下每个人所有支付形式下的总钱数2 select userName from PayPhoneMoney group by userName
3 select userName,128)">4 sum(case payType when ' then money else 0 end) as 支付宝,128)">5 as 工行,128)">6 as 交行,128)">7 as 中行
8 from PayPhoneMoney
9 by userName
3 select userName,128)">4 sum(case payType when ' then money else 0 end) as 支付宝,128)">5 as 工行,128)">6 as 交行,128)">7 as 中行
8 from PayPhoneMoney
9 by userName