正常情况,解释如下:
如果你注释掉AND A.WAFER=B.WAFER(+),前3条数据都会有b.commets是因为A表的前三条数据和B表的三个等值条件都满足,最后一条数据不能全部满足等值条件,这样其实在B表中找不到匹配的数据,所以b.comments为空。
如果加上最后个条件,那么此时共有4个连接条件,只有当4个等值条件都满足的时候b.comments才会有数据。根据你的数据来看,显然没有4个条件都满足的数据。所以全部为空

解决方案 »

  1.   

    这个外连接(+),例 where a.program = b.program(+)
    这个意思就是有a.program = b.program,则a、b表内容都能显示出来;
    如果a.program <> b.program,则a表内容还是完全显示,只是不能显示出b表的内容。前3条数据满足4个等值条件,所以b.comments应该现实出来啊
    第4条数据不能满足4等值条件,那就只是第4条数据不能显示b.comments。这是我的理解也是我想要达到的目的。我这个SQL看起来是不对,请指点一下怎么修改?
      

  2.   

    前3条数据满足4个等值条件,所以b.comments应该现实出来啊-->你前三条数据怎么满足第4个条件,b表的WAFER为' ',而a表的WAFER不存在' ',请问你怎么满足 A.WAFER=B.WAFER? 如果第四个条件不满足,当然不能查出b表中commets,所以为空