+ -
当前位置:首页 → 问答吧 → 实现行变列

实现行变列

时间:2011-12-18

来源:互联网

有如下表

id name data

1 a 123
1 b 456
2 a 789
2 b 159

想通过sql语句转化为如下表

id a b

1 123 456
2 789 159

请问怎么实现?谢谢!

作者: baideer   发布时间: 2011-12-18

SQL code

-- 创建数据表
create table tb
(
id int,
name varchar(10),
data  int
)
go
--测试数据
insert into tb 

select '1','a',123 union all

select '1','b',456 union all 

select '2','a',789 union all

select '2','b',159 
go




select id,
  sum(case name when 'a' then data else 0 end) a,
  sum(case name when 'b' then data else 0 end) b
from tb
group by id


--1    123    456
--2    789    159


作者: hllfl   发布时间: 2011-12-18

热门下载

更多