SQL 从子查询中使用条件选择

SQL selecting with conditioning from a subquery

我正在尝试从一个查询中执行两个求和函数。但是,我只想在满足特定条件的情况下只执行其中一个求和函数而不影响另一个求和函数。

我在想的是使用类似于 select x where condition = 1 from AC 的东西,但是这是不可能的。

这是示例查询,我希望第二个 [sum(t.match)] selection 仅计算子查询中的结果:match = 1,同时仍然获得总和所有数量。

select 
    sum(t.qqty), sum(t.qqty)  
from
    (select 
         car, cqty, qqty, 
         case when cqty = qqty then 1 else 0 end as match, 
         location, state) t

使用条件聚合——即 case 作为 sum():

的参数
select sum(t.qqty), sum(case when condition = 1 then t.qqty else 0 end)
from t;