我的是多个做个左关联,出现无查询结果,其实每个关联的表都有数据
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'就会使总结果减少一条