You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Firebird中使用GROUP BY单表分组统计实现简易库存计算

Firebird 库存统计SQL实现方案

核心实现代码

你可以通过CASE WHEN对出入库类型做数值映射,再配合聚合函数求和实现需求,请将SQL中的你的业务表名替换为实际的表名即可使用:

SELECT 
  Codigo,
  Configuracao,
  SUM(
    CASE TIPO
      WHEN 'E' THEN 1
      WHEN 'S' THEN -1
      ELSE 0
    END
  ) AS final_stock
FROM 
  你的业务表名
GROUP BY 
  Codigo, Configuracao

可选扩展逻辑

  • 若需要过滤掉最终库存为0的产品,可在GROUP BY语句后追加过滤条件:
    HAVING SUM(CASE TIPO WHEN 'E' THEN 1 WHEN 'S' THEN -1 ELSE 0 END) <> 0
    
  • 若你的表中存在单条记录对应多件商品的数量字段(比如字段名为QUANTIDADE),可调整计算逻辑适配批量出入库场景:
    SUM(CASE TIPO WHEN 'E' THEN QUANTIDADE WHEN 'S' THEN -QUANTIDADE ELSE 0 END) AS final_stock
    

内容的提问来源于stack exchange,提问作者Lil Programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:45:02