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

Sqlite3查询问题:ticket值在无数据日期重复,求修正方案

修正SQLite3查询以处理缺失的Ticket数据问题

你的问题主要出在两个核心点:一是t3子查询未按日期分组,导致返回全局ticket总数并重复显示;二是使用隐式内连接会过滤掉t3中无对应日期的行,而我们需要保留这些日期并将ticket字段设为0或空值。

以下是修正后的查询语句:

SELECT 
    t1.hurtos, 
    t2.fallas, 
    COALESCE(t3.ticket, 0) AS ticket, 
    t1.fecha_carga
FROM 
    (SELECT COUNT(ttc) AS hurtos, fecha_carga 
     FROM data_incidencia 
     WHERE campo_key_id = 2 
     GROUP BY fecha_carga) t1
JOIN 
    (SELECT COUNT(ttc) AS fallas, fecha_carga 
     FROM data_incidencia 
     WHERE campo_key_id = 1 
     GROUP BY fecha_carga) t2 ON t1.fecha_carga = t2.fecha_carga
LEFT JOIN 
    (SELECT COUNT(ticket) AS ticket, fecha_solicitud AS fecha_carga 
     FROM data_ticket 
     GROUP BY fecha_solicitud) t3 ON t1.fecha_carga = t3.fecha_carga;

关键修正说明:

  • 修复t3分组逻辑:给t3子查询添加GROUP BY fecha_solicitud,让每个日期单独计算对应的ticket数量,避免全局总数重复填充。
  • 改用LEFT JOIN保留所有日期:通过左连接关联t3,确保t1/t2中存在但t3中缺失的日期行不会被过滤掉。
  • COALESCE处理空值:COALESCE(t3.ticket, 0)会将空值自动替换为0,完美匹配你期望的显示效果;如果偏好显示空值,直接使用t3.ticket即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:09:19