首页 文章

如何使用Oracle SQL中的特定formule代码计算值?

提问于
浏览
0

我有Oracle SQL查询 . 在结果中我得到类似的东西:

CODE || VALUE
I || 10
II || 30
III || 50
IV || -20
V || 60
VII || -45
VIII || 0
IX || 100
X || 0

接下来我想要CODE = X创建formule,如:

情况1:

SUM OF I,II,III,IV,V,IX

案例2:

I+II+III-IV-V+IX

如何在sql查询中实现这些formule?

2 回答

  • 0
    select sum(value) from table where code not like 'VI%'   
          Union
          select sum(case when code in ('IV', 'V' ) then -value
          else value end case) from table where code not like 
            'VI%'
    

    通过联合做出与上述相同的不同方式

  • 1

    你会使用聚合:

    select sum(case when code in ('I', 'II', 'III', 'IV', 'V', 'IX') then value else 0 end) as case1,
           sum(case when code in ('I', 'II', 'III', 'IX') then value
                    when code in ('IV', 'V') then -value
                    else 0
               end) as case2
    from t;
    

相关问题