很简单,因为你在这里有条件dmbh的限制放在了where条件中
在from后面的是表关联,on后面的条件实际上只是对第二张表进行了过滤然后两张表之间进行左连接
在where后则是进行左连接然后再根据dmbh进行结果集的进一步过滤

解决方案 »

  1.   

    如果是这样,那改写成oracle8i的形式就要这样了:
    select a*,b.dmz as name 
    from lt_gg_dwjbxx a, (select * from lt_gg_dmjmxb where b.dmbh='***') b 
    where a.jjlx = b.dm(+)
    还有其他的方式吗?
      

  2.   

    select a*,decode(b.dmz,...) as name 
    from lt_gg_dwjbxx a,lt_gg_dmjmxb b 
    where a.jjlx = b.dm(+)
      

  3.   

    这样也是不行的,decode函数不能对过滤结果集,只是改变结果集的显示,
    所以这样结果集偏大了,因为没有条件过滤呢。
      

  4.   

    兩個的關聯條件與where條件實際是不同的!!!
    b.DMBH='***'一個寫在連接上一個寫在where條件裡!!