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

求助:基于条件求和实现SQL表结构转换的查询语句

解决方案

你可以使用条件聚合(结合SUM()和CASE表达式)实现需求,通过operation_id和order_id分组后,分别计算不同条件下的qty总和。

完整SQL查询语句

SELECT
    operation_id,
    order_id,
    SUM(CASE WHEN detail_type = 'glued' AND qty_type = 'ready' THEN qty ELSE 0 END) AS qty_glued_ready,
    SUM(CASE WHEN detail_type = 'unglued' AND qty_type = 'ready' THEN qty ELSE 0 END) AS qty_unglued_ready,
    SUM(CASE WHEN detail_type = 'glued' AND qty_type = 'done' THEN qty ELSE 0 END) AS qty_glued_done,
    SUM(CASE WHEN detail_type = 'unglued' AND qty_type = 'done' THEN qty ELSE 0 END) AS qty_unglued_done
FROM
    your_table_name -- 替换为你的实际表名
GROUP BY
    operation_id,
    order_id;

逻辑说明

  • CASE表达式判断每行数据是否符合指定条件,符合则返回对应qty值,否则返回0
  • SUM()函数对分组内符合条件的qty值求和
  • GROUP BY operation_id, order_id确保结果按这两个字段分组聚合

执行结果说明

针对你提供的原始数据,执行后会得到:

operation_idorder_idqty_glued_readyqty_unglued_readyqty_glued_doneqty_unglued_done
112401991000
1250000

注:你给出的目标表中qty_glued_done和qty_unglued_done的值为10,可能是笔误,按原始数据计算qty_glued_done应为100,qty_unglued_done为0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:06:13