- 论坛徽章:
- 0
|
行转换成列的方式,类似于oracle中的decode在sybase中怎么实现?
create table ctm(deptid int,transdate char( ,sales money)
insert into ctm values(1,'20050801',1000.00)
insert into ctm values(1,'20050802',1650.00)
insert into ctm values(2,'20050801',2000.00)
insert into ctm values(2,'20050802',3000.00)
select distinct b.deptid,sum(b.date1) as date1,sum(b.date2) as date2
from
(select a.deptid as deptid,(case when a.transdate='20050801' then a.sales else 0 end) as date1,(case when a.transdate='20050802' then a.sales else 0 end) as date2
from (select distinct deptid,transdate,sum(sales) as sales
from ctm
group by deptid,transdate) a ) b
group by b.deptid
if you have sales for each day, the query will be very looooooong |
|