PL / SQL - 需要做一些条件计算

时间:2018-01-22 08:37:30

标签: plsql

我是pl / sql的初学者,所以不要太苛刻。

我有一个包含Column_A(当月金额)和Column_B(上个月金额)的表作为数字。我需要为一些计算写一个条件:" column_A - Column_b = result。 如果结果> 0 (意味着当前月份与之前相比有所增加),结果+ column_A

我不知道怎么写这个。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下查询。

    UPDATE your_table SET column_A= 
         ( CASE  
         WHEN (column_A - Column_b)>0 THEN (column_A +(column_A - Column_b))              
         ELSE  (column_A)
         END )

这将检查差异大于零的所有记录,并将使用结果更新column_A,结果是Columns_A和差异的总和。

希望这会有所帮助。祝你学习愉快!

编辑: 好吧,如果你只是试图操纵数据进行显示,那么你可以简化你的查询,如下所示,这将执行相同的功能。

    SELECT (CASE  
         WHEN (Current_month_amount - previous_month_amount)>0 THEN 
              (Current_month_amount +(Current_month_amount - 
               previous_month_amount))              
         ELSE  (Current_month_amount)
         END ) AS Current_month_amount, 
         previous_month_amount,
         (Current_month_amount - previous_month_amount) AS Amount_Difference
         from table_1