17,089
社区成员
发帖
与我相关
我的任务
分享
SELECT TBD1.F_REGIONNAME,
sum(decode(TBD1.F_STATICDAYTIME,'2010-06-01',-1*TBD1.数据1,TBD1.数据1)) data1,
sum(decode(TBD1.F_STATICDAYTIME,'2010-06-01',-1*TBD1.数据2,TBD1.数据2)) data2
FROM TB_BAS_PRODAYHAZARDDATA TBD1
WHERE TBD1.F_STATICDAYTIME in('2010-06-01','2010-07-01')
GROUP BY TBD1.F_REGIONNAME
select date ,sum(data1),sum(data2)
from
(
select date,(case when to_char(date,'YYYY-MM-DD')='2010-06-01' then -1*data1 else data1 end) as data1,
(case when to_char(date,'YYYY-MM-DD')='2010-06-01' then -1*data2 else data2 end) as data2
from tb
)
group by date
select F_REGIONNAME,sum(d1),sum(d2)
from (select decode(F_STATICDAYTIME,'2010-07-01',d1,'2010-06-01',0-d1,0) d1,
decode(F_STATICDAYTIME,'2010-07-01',d2,'2010-06-01',0-d2,0) d2,
F_REGIONNAME
from TB_BAS_PRODAYHAZARDDATA)
group by F_REGIONNAME
SELECT TBD.F_REGIONNAME,
SUM(case F_STATICDAYTIME when '2010-06-01' then -TBD.数据1 else TBD.数据1 end ) data1,
SUM(case F_STATICDAYTIME when '2010-06-01' then -TBD.数据2 else TBD.数据2 end ) data2
FROM TB_BAS_PRODAYHAZARDDATA TBD
WHERE TBD.F_STATICDAYTIME in ( '2010-06-01','2010-07-01')
GROUP BY TBD.F_REGIONNAME
select a.F_REGIONNAME,a.d1-nvl(b.d1,0),a.d2-nvl(b.d2,0) from (
select F_REGIONNAME,sum(d1) d1,sum(d2) d2 from TB_BAS_PRODAYHAZARDDATA where F_STATICDAYTIME = '2010-07-01'
group by F_REGIONNAME) a
left join
(select F_REGIONNAME,sum(d1) d1,sum(d2) d2 from TB_BAS_PRODAYHAZARDDATA where F_STATICDAYTIME = '2010-06-01'
group by F_REGIONNAME) b
on a.F_REGIONNAME = b.F_REGIONNAME