数据没有重复的,一个表与视图连接,搞了半天了,求助..

解决方案 »

  1.   

    left outer join 查出的肯定是大于等于inner join
      

  2.   

    select a.organizationname, c.monthmoney
      from basorganization a,
           (select sum(a.monthmoney) as monthmoney, b.parentorganizationid
              from v_salesorder_monthreport a, basorganization b
             where a.orgid = b.organizationid
               and (to_char(a.monthdate, 'yyyy-MM')) = '2010-12'
               group by b.parentorganizationid) c
     where c.parentorganizationid = a.organizationid
       and a.organizationtype = 2;可以查询出有相符的信息
       
       select a.organizationname, c.monthmoney
      from basorganization a left outer join (select sum(a.monthmoney) as monthmoney, b.parentorganizationid
              from v_salesorder_monthreport a, basorganization b
             where a.orgid = b.organizationid
               and (to_char(a.monthdate, 'yyyy-MM')) = '2010-12'
               group by b.parentorganizationid) c
    on  c.parentorganizationid = a.organizationid
       where  a.organizationtype = 2;改成left outer join  就查不出来了
      

  3.   

    问题是 inner join 可以查询出两个表中的匹配信息,但是left outer join 取不能查出匹配的数据了
      

  4.   

    left outer join 查出的结果确实是大于等于inner join的啊,但语句也貌似没啥问题两个表别名重复了,先改下试试吧,再者静待高手出现汗~~
      

  5.   

    还是没有发现原因,可能的情况是where条件会先于left outer join ..on 条件执行.