您的位置:首页 > 数据库

SQL行转列并分类汇总!

2011-01-25 14:12 239 查看
create table #temp (employeeName nchar(10),payCategory nchar(12),amount numeric(10,2))

insert into #temp (employeeName,payCategory,amount) values ('王五','吃饭',10.2)

insert into #temp (employeeName,payCategory,amount) values ('王五','洗头',25)

insert into #temp (employeeName,payCategory,amount) values ('王五','座车',2)

insert into #temp (employeeName,payCategory,amount) values ('王五','住店',200)

insert into #temp (employeeName,payCategory,amount) values ('张三','吃饭',20)

insert into #temp (employeeName,payCategory,amount) values ('张三','洗头',50)

insert into #temp (employeeName,payCategory,amount) values ('张三','座车',9)

insert into #temp (employeeName,payCategory,amount) values ('张三','住店',300)

insert into #temp (employeeName,payCategory,amount) values ('张三','住店',500)

select employeeName,[吃饭] as "吃",[洗头] as "洗",[座车] as "车",[住店] as "住" from #temp pivot(sum(amount) for payCategory in ([吃饭],[洗头],[座车],[住店])) as PVT

drop table #temp

结果:

employeeName 吃 洗 车 住

------------ ---------------- ---------------- ---------------- ----------------

王五 10.2 25 2 200

张三 20 50 9 800

(9 行受影响)

(返回 2 行)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: