这是我的表
column column.a column.b
1 tax1 100
1 tax2 200
1 tax3 300
2 tax1 100
2 tax2 200
这是我的选择陈述
select distinct column, sum(column.b) - column.b as amount,
(select column.b where column.a = tax2)as column.c
from table order by column
我想在我的select语句column.b中包含column.a = tax2
这是我期望的输出。
column amount column.c
1 500 200
2 200 200
我只是不知道我可以将它包含在我的select语句中。感谢。
答案 0 :(得分:0)
您的问题的答案是使用条件聚合和显式group by
。例如,合理的查询将是:
select column,
sum(case when a <> 'tax2' then b else 0 end) as amount,
sum(case when a = 'tax2' then b else 0 end) as c
from t
group by column;
这并不能完全解答您问题中的结果。但是,您的问题中的结果不稳定,因为您将sum(column.b)
与column.b
混合在一起 - 未聚合的值来自不确定的行。