求和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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值