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

MySQL多JOIN与LEFT JOIN问题:关联5表后数据异常求助

SQL关联查询异常排查求助

涉及表说明

  • product_sale:存储客户订购的产品信息
  • product:存储产品核心信息
  • sale_purchase:销售订单与采购订单的桥接表(部分产品无采购单时可能不存在)
  • product_purchase:存储采购订单上的关联产品信息
  • grn:处理产品收货信息

问题描述

编写的关联查询语句返回结果存在两处异常:

  • 第一行的received_qty字段值应为7,实际显示为4
  • line_no为1.00的记录中,grn_ref和grn_date字段应为NULL,但未正确显示

现有查询语句

SELECT
    ps.*,
    pp.received_qty,
    p.group_ref,
    p.subgroup_ref, 
    g.grn_id AS 'grn_ref',
    g.grn_date
FROM
    product_sale ps 
    INNER JOIN product          p  ON ps.product_ref = p.product_id 
    LEFT JOIN  sale_purchase    sp ON ps.sale_ref    = sp.sale_ref 
    LEFT JOIN  product_purchase pp ON pp.so_line_no  = ps.line_no 
    LEFT JOIN  grn              g  ON g.grn_id       = pp.grn_ref 
WHERE
    ps.sale_ref = 150002
GROUP BY
    line_no
ORDER BY
    line_no

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:48:25