select * from (SELECT * FROM 表A group by A.字段)
 full outer join (SELECT * FROM 表B group by B.字段) on A.分组字段=B.分组字段后增加表
 select * from (SELECT * FROM 表A,表C where 表A.XX=表C.XX  group by A.字段)
 full outer join (SELECT * FROM 表B,表C where 表B.XX=表C.XX  group by B.字段) on A.分组字段=B.分组字段
为什么两次查询出的结果不一致(表A和表C,表B和表C是一对一关系)???请大虾们解答下
full outer join用法不对么???

解决方案 »

  1.   

    select * from (SELECT * FROM 表A group by A.字段)
     full outer join (SELECT * FROM 表B group by B.字段) on A.分组字段=B.分组字段后增加表
     select * from (SELECT * FROM 表A,表C where 表A.XX=表C.XX(+) group by A.字段)
     full outer join (SELECT * FROM 表B,表C where 表B.XX=表C.XX(+) group by B.字段) on A.分组字段=B.分组字段
    提问的时候忘了加左连了,不好意思
      

  2.   

    (SELECT * FROM 表A,表C where 表A.XX=表C.XX(+) group by A.字段)
    (SELECT * FROM 表B,表C where 表B.XX=表C.XX(+) group by B.字段)
    两个单独查询与没加C表之前的结果是一样的,就是full outer join之后两次的结果不一致