34,593
社区成员
发帖
与我相关
我的任务
分享
create table tb(NAME varchar(10),[Year] int, Class varchar(10),VALUE decimal(18,2))
insert into tb values('sh', 2007 ,'POP' ,90)
insert into tb values('sh', 2008 ,'First' ,0.44)
insert into tb values('nj', 2007 ,'POP' ,38)
insert into tb values('nj', 2008 ,'First' ,0.2)
select m.NAME , m.VALUE [2007POP] , n.VALUE [2008First]
from tb m , tb n
where m.Year=2007 and m.Class='POP' and n.Year=2008 and n.Class='First' and m.name = n.name
drop table tb
/*
NAME 2007POP 2008First
---------- -------------------- --------------------
sh 90.00 .44
nj 38.00 .20
(所影响的行数为 2 行)
*/
select
name,
sum(case when Year=2007 and Class='POP' then VALUE end),
sum(case when Year=2008 and Class='First' then VALUE end)
from
tname
group by
name
select m.NAME , m.VALUE [2007POP] , n.VALUE [2008First]
from tb m , tb n
where m.Year=2007 and m.Class='POP' and n.Year=2008 and n.Class='First' and m.name = n.name