`
郭清明
  • 浏览: 16978 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

求和SQL

SQL 
阅读更多
select main.* ,nvl((select nvl(conversion_rate,1)
      from icas_base_daily_rates_temp
      where from_currency=main.org_currency  and  upper(to_currency)='USD'
        and conversion_date=to_date('2009-9-10', 'YYYY-MM-DD')),1) rate
from
(select id,total,amount,
(case when total<=3 then amount 
      else (3-last_total)/nvl((select nvl(conversion_rate,1)
      from icas_base_daily_rates_temp
      where from_currency=currencycode  and upper(to_currency)='USD'
        and conversion_date=to_date('2009-9-10', 'YYYY-MM-DD')),1)
        end) amount_t,
currencycode org_currency
from
(select a.id,
SUM(a.amount_usd) OVER(ORDER BY a.amount_usd, a.id) as total ,
SUM(a.amount_usd) OVER(ORDER BY a.amount_usd, a.id)-a.amount_usd as last_total ,
a.amount,a.currencycode
from
(select m.amount *nvl(t.conversion_rate,1) amount_usd ,
         m.amount,id,m.currencycode
from  icas_base_daily_rates_temp t,
       t_money                 m
where m.currencycode=t.from_currency
   and upper(t.to_currency)='USD'
   and t.conversion_date=to_date('2009-9-10', 'YYYY-MM-DD'))a)
where total<= (select min(total) from
                      (select id,total from
                      (select a.id,
                      SUM(a.amount_usd) OVER(ORDER BY a.amount_usd, a.id) as total
                      from
                      (select m.amount *nvl(t.conversion_rate,1) amount_usd ,
         m.amount,id
         from  icas_base_daily_rates_temp t,
         t_money                 m
         where m.currencycode=t.from_currency
         and upper(t.to_currency)='USD'
         and t.conversion_date=to_date('2009-9-10', 'YYYY-MM-DD'))a)
where total>=3))) main
     
     
     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics