查看结果的总和/除法值

时间:2018-07-12 17:55:49

标签: oracle oracle11g sql-view

我有4个包含列和结果的视图,如下所示:

 ___________________________________
| Account_no | Region_code | Total  |
|-----------------------------------
|123456789   | 123         | 321,34 |
|212234567   | 543         | 214    | 
|076948329   | 100         | 310    |
|093290432   | 320         | 1200,44|
|346574554   | 123         | 542,01 |
|___________________________________|

所有这些视图均已计算“总计”列,但是为了获得该区域中每个帐户的完整结果,我需要使用以下公式再次计算“总计”: View1.Total-View2.Total + View3。总计-View4。总计

有人可以教我一个有关如何在Oracle中实现此目标的示例吗?

1 个答案:

答案 0 :(得分:0)

这样的事情(简化)?

SQL> with
  2  view1 (accno, total) as
  3    (select 1, 100 from dual union
  4     select 2, 200 from dual
  5    ),
  6  view2 (accno, total) as
  7    (select 1, 10 from dual union
  8     select 2, 30 from dual
  9    ),
 10  view3 (accno, total) as
 11    (select 1, 20 from dual union
 12     select 2, 40 from dual
 13    ),
 14  view4 (accno, total) as
 15    (select 1, 40 from dual union
 16     select 2, 30 from dual
 17    )
 18  --
 19  select v1.accno,
 20    (v1.total - v2.total + v3.total - v4.total) total_total
 21  from view1 v1 join view2 v2 on v1.accno = v2.accno
 22                join view3 v3 on v1.accno = v3.accno
 23                join view4 v4 on v1.accno = v4.accno;

     ACCNO TOTAL_TOTAL
---------- -----------
         1          70
         2         180

SQL>