首页 > 解决方案 > 仅在某些产品时汇总数量

问题描述

我有一个 SQL 可以根据特定产品选择订单,但是当我添加一个 SUM 列来衡量数量时,它还会为我提供我不需要的订单中的产品数量。例如:

ORDER | PRODUCT | QTD
 200      A        1
 200      B        1
 200      C        1

所以我只想总结产品A。

是否可以制作这样的SQL?

SELECT SUM(QTD) WHEN PRODUCT LIKE A

感谢您对此事的任何帮助

标签: sqlfirebird

解决方案


在函数 内添加case表达式sum()

SELECT SUM(CASE WHEN PRODUCT = 'A' THEN QTD ELSE 0 END) 
. . .

但是,这会产生所有PRODUCTs 的结果集,但只有当PRODUCT = 'A'other 为 时才会求和0


推荐阅读