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

如何在SQL中实现多表关联查询并按类别汇总服务金额

多类别服务金额汇总解决方案

原查询仅返回单个类别是因为两个问题:一是WHERE条件限定了仅查询类别ID为1的数据,二是缺少分组语句来按类别聚合金额。

正确查询语句

SELECT 
    Kategorii.Nazwa_kategorii,
    COALESCE(SUM(Uslugi.Cena_uslugi), 0) AS kwota
FROM Kategorii
LEFT JOIN Uslugi ON Kategorii.id_kategorii = Uslugi.id_kategorii
GROUP BY Kategorii.id_kategorii, Kategorii.Nazwa_kategorii;

修改说明

  • 移除单个类别限制:删掉WHERE Uslugi.id_kategorii =1条件,这样会返回所有类别的数据,包括没有对应服务的类别(LEFT JOIN会保留所有Kategorii表的记录)。
  • 添加分组语句:使用GROUP BY按类别ID和类别名称分组,确保每个类别单独汇总金额。如果类别名称是唯一的,也可以只写GROUP BY Kategorii.Nazwa_kategorii,但用ID分组更严谨(避免不同ID但名称相同的类别被合并)。
  • 优化空值显示:用COALESCE函数将无服务类别的SUM结果(NULL)转为0,让输出更直观。

补充说明

如果不需要显示没有服务的类别,可以把LEFT JOIN改成INNER JOIN,这样只会返回有对应服务的类别汇总数据。

内容的提问来源于stack exchange,提问作者ТудыСюды

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:31:20