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

如何在SUM与CASE WHEN中实现IF条件的数值汇总逻辑?

修正后的Laravel查询代码

原代码的CASE语句语法有误,无法实现按a.type汇总employee_qty字段的需求,以下是修正后的代码:

select(
    'a.client_location_id as location_id',
    'b.name as location_name',
    'c.name as client_name',
    DB::raw('SUM(CASE WHEN a.type = 1 THEN a.employee_qty ELSE 0 END) as e_qty_in'),
    DB::raw('SUM(CASE WHEN a.type = 2 THEN a.employee_qty ELSE 0 END) as e_qty_out')
)

修正说明:

  • 原代码错误地将employee_qty放在了条件判断语句中,正确的CASE逻辑应该是:当a.type等于目标值时,取a.employee_qty的数值参与求和,否则取0,最后通过SUM函数完成汇总。
  • 修正后,e_qty_in会汇总所有a.type = 1的employee_qty值,e_qty_out会汇总所有a.type = 2的employee_qty值,完全匹配需求逻辑。

内容的提问来源于stack exchange,提问作者stackover flow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:45:48