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

SQL内连接查询中为每行统计对应办事处设备总数量的实现问题

解决方案

你可以通过新增聚合子查询统计每个办事处的设备总量,再关联到原有查询上即可实现需求,修改后的完整SQL如下:

SELECT 
    realiza_soli.*, 
    oficina.id_lugar, 
    oficina.desc_lugar,
    tipo_equipamiento.nom_tipo,
    COALESCE(equip_count.total, 0) AS total_equip
FROM realiza_soli
INNER JOIN usuario
    ON realiza_soli.fk_user = usuario.id_user
INNER JOIN tipo_equipamiento
    ON realiza_soli.fk_tipo = tipo_equipamiento.id_tipo
INNER JOIN oficina
    ON usuario.fk_ofic = oficina.id_lugar
    AND realiza_soli.estado_soli = 'Pendiente Info'
-- 关联预统计的各办事处设备总量
LEFT JOIN (
    SELECT fk_ofic, COUNT(*) AS total
    FROM equipamiento
    WHERE fk_ofic IS NOT NULL
    GROUP BY fk_ofic
) AS equip_count
    ON oficina.id_lugar = equip_count.fk_ofic
ORDER BY realiza_soli.id_soli ASC;

实现逻辑说明

  • 先通过子查询对equipamiento表按fk_ofic分组,统计每个关联的办事处下的设备总数,避免直接关联设备表导致原有请求行重复
  • 用LEFT JOIN关联统计结果,保证没有设备的办事处(如示例中的Oficina 10)也能保留原有行不会被过滤
  • 用COALESCE函数将无设备的办事处的统计空值转为0,匹配你的预期输出要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:06:08