【SQL】ORACLE生成临时表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【SQL】ORACLE⽣成临时表
在⽇常的SQL查询中,我们需要对要查询的数据进⾏事先处理,然后再在预先处理好的数据⾥⾯进⾏查询。

此时我们就需要⽤到临时表了,将数据预先处理好放到临时表⾥⾯,然后再在临时表⾥根据我们需要的条件进⾏查询。

假设我们有⼀个收⼊表:incoming ,⾥⾯的字段分别为:id,name,amt,cur 我们要求每个⼈的amt换算成RMB之后的和。

由于币种有区别,我们需要事先将amt对应币种按照汇率换算成⼈民币再进⾏计算。

另⼀个表时xrt表,存放每个币种对应⼈民币牌价。

有两种⽅法,⼀种是⽤with as⽅法,事先⽣成⼀个临时表temp,然后再在这个临时表⾥查。

with temp as
(
select name, amt*(select cnyrate from xrt x where x.cur=i.cur ) from incoming
)
select name, sum(amt) from incoming group by name
第⼆个⽅法是使⽤select⽅法
select name,sum(amt) from (select name,amt*(selct cnyrate from xrt x where x.cur=i.cur) from incoming) temp group by name;。

相关文档
最新文档