2列的总和,并从结果中减去另一个表的列

时间:2017-07-24 21:06:47

标签: oracle plsql plsqldeveloper

我有一个初学者的问题。 我有2个Oracle表 表1包含以下列: C1 C2 C3

表2包含以下列: D1 D2 D3

我需要帮助在PL / SQL中进行求和 总和(C1 * C2) - D1

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

下面是完整的简单脚本,基本上你需要知道如何定义变量并遍历行。如果您需要进一步解释,请告诉我。

  set SERVEROUTPUT ON;

    create table tab1(
      c1 number,
      c2 number,
      c3 number);

    create table tab2(
      d1 number,
      d2 number,
      d3 number);


    insert into tab1 values(10, 20, 30);
    insert into tab2 values(10, 20, 30);

    declare 
      first_val number := 0;
      second_val number := 0;
    begin

      for rec in ( select sum(c1*c2) as sum_c1 from tab1)
      loop
        first_val := rec.sum_c1 + first_val;
      end loop;  

      for rec in (select d1 as d1_val from tab2)
      loop
         second_val := rec.d1_val + second_val;
      end loop;

      dbms_output.put_line(first_val - second_val);
    end;