多个关联连接,出现无查询结果---经验

本文探讨了一段涉及多表左关联的SQL语句,在各关联表均有数据的情况下却未返回查询结果的问题。分析指出,这主要是由于某些表中记录的状态标志位不满足查询条件导致的,特别是当关联表中的记录被标记为已删除或实际已被物理删除时,即使关联条件成立也无法出现在最终结果中。
摘要由CSDN通过智能技术生成

我的是多个做个左关联,出现无查询结果,其实每个关联的表都有数据

 

SELECT C.*,T.*,B.*,P.*    FROM JX_CLASSROOM_INFO C, JX_TEACHFUN_INFO T ,ZC_TEACHBUILD_INFO B,XX_CAMPUS_INFO P  
     where   C.FUNID=T.FUNID(+) AND  C.BUILDID=B.BUILDID(+) AND C.CAMPUSID=P.CAMPUSID(+)      
         AND C.ISDEL='0'AND T.ISDEL='0' AND B.ISDEL='0' AND P.ISDEL='0'      
                  order by C.ROOMID

按关联原则,如果主表几条数据,就会产生几条结果,但此处不同。

 

此语句查询无查询结果,是由于标志位的原因

1.如果JX_TEACHFUN_INFO T表的T.ISDEL='1', 而此时虽然达到了C.FUNID=T.FUNID(+) ,但要求T.ISDEL='0'就会使总结果减少一条

2.达到了C.FUNID=T.FUNID(+) ,但是JX_TEACHFUN_INFO T表对应的记录被物理删除了,如果再加上T.ISDEL='0'就会使总结果减少一条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值