我有Oracle SQL查询。 结果我得到类似的东西:
CODE || VALUE
I || 10
II || 30
III || 50
IV || -20
V || 60
VII || -45
VIII || 0
IX || 100
X || 0
接下来,我要为CODE = X创建像这样的公式:
情况1:
SUM OF I,II,III,IV,V,IX
情况2:
I+II+III-IV-V+IX
如何在SQL查询中强制使用这些公式?
答案 0 :(得分: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;
答案 1 :(得分: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%'
只是通过联合来完成上述操作的另一种方式