三表联合查询不到所有记录

博客围绕三表组合查询展开,涉及产品表、进货单表头和进货单表身。按时间段查询进货单所有产品记录时,原查询语句无法查出所有记录。给出解决方法,使用right join ,并分析原因,如部分单据无明细、部分产品被删用inner join 无法显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三表组合查询问题,1,产品表(PRDT),字段(产品编号,产品名称),进货单表头(PRDT_MF_INPUT)(进货单号,日期),进货单表身(PRDT_TF_INPUT)(进货单号,产品编号,进货单产品数量)

一张进货单的表身可能有多种产品。

按时间段把进货单所有产品记录查询出来,要求有,进货单号,日期,产品编号,产品名称,进货单产品数量

谢谢!

select a.*,b.*,c.* from PRDT_MF_INPUT a,PRDT_TF_INPUT b, PRDT c where a.PRDT_INPUT_NO=b.PRDT_INPUT_NO and b.PRDT_CODE=c.PRDT_CODE

查询不到所有记录。

解决方法

select a.*, b.*, c.*
from prdt as c right join (prdt_tf_input as b right join prdt_mf_input as a on b.prdt_input_no = a.prdt_input_no) on c.prdt_code = b.prdt_code;

原因

1、有的单据只有主单据,没有单据明细,用inner join 这部分主单据无法显示
2、有的产品在单据明细中有,但是可能产品表中,原来有,后来删掉了,用inner join 这部分产品的单据明细无法显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值