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
相关产品推荐
相关产品推荐

