Oracle行明智的总和

时间:2018-10-17 12:01:20

标签: oracle

我的Oracle Employee_Expense表如下。我期望红色文字。

enter image description here

我只需要获取这四个月的费用总和,按Emp_No和Year排序即可。

请问有什么想法吗?

2 个答案:

答案 0 :(得分:1)

只需将它们加起来并包含在您的查询中即可;

if condition
    then
        if condition
        then
            .....
            ..
            do this
        else
            ....
            ..
            do this
        fi
    else
        ...
        .....
        do this
    fi

应该这样做,除非您没有提到其他事情。

答案 1 :(得分:1)

这是一个糟糕的设计,几个月不应该是表的列。

对于需要从其他列中生成列的情况,您可以做的是在表中添加virtual column,即总计。然后,您不必在每次查询时都明确地编写附加项,只需查询列即可,Oracle会为您完成附加项。

ALTER TABLE employee_expense ADD (
     total GENERATED ALWAYS AS ( january + february + march + april )
);

只需运行此操作即可为“总计”提供值。

select * from employee_expense;