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

SQL查询如何实现加仑数为0的客户记录在结果中正常显示

问题背景
  • 现有SQL查询结果缺失2条客户记录,缺失记录对应客户的加仑数为0,需要这类零值记录正常展示在查询结果中
  • 实际查询结果与期望结果参考:查询结果对比截图
  • 原有SQL逻辑存在过滤错误,直接排除了所有0加仑相关记录
问题根因

原有SQL两层过滤逻辑直接拦截了0加仑记录:

  1. 主查询WHERE子句写死trx.gallons > 0,直接过滤掉所有加仑数为0的交易行
  2. 额外添加的NOT IN子查询,将所有存在0加仑交易的卡号全部排除,完全阻断了零值记录的返回路径
修正后SQL代码
select 
    cust.name, 
    count(distinct trx.CardNumber) as Count, 
    p.Description, 
    trx.locationid, 
    cust.custid, 
    trx.MembersMemLPI, 
    p.PrgLPI 
from P2P_Monthly_Trx_TEMP trx 
    inner join P2P_Programs p on trx.MembersMemLPI = p.prglpi
    left outer join P2P_Customer cust on trx.locationid = cust.custid
where trx.MembersMemLPI = '231'
group by cust.name, p.Description, trx.locationid, cust.custid, trx.MembersMemLPI, p.PrgLPI
order by cust.name ASC;
调整说明
  • 删除主查询中trx.gallons > 0的过滤条件,允许加仑数为0的交易记录进入统计逻辑
  • 整段删除原有NOT IN子查询逻辑,该逻辑与展示零值记录的需求完全冲突
  • 为多表共名字段补充表别名前缀,避免关联查询时的字段歧义报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 05:00:44