当前位置: 代码迷 >> Oracle面试 >> full join 在不同数据库有不同结果,知道的一定要近来看下(内详)解决办法
  详细解决方案

full join 在不同数据库有不同结果,知道的一定要近来看下(内详)解决办法

热度:8608   发布时间:2013-02-26 00:00:00.0
full join 在不同数据库有不同结果,知道的一定要近来看下(内详)
两张表   :
表aa  
字段:  
  ID   INT   自动增长
  客户   char(10)
  物品   char(10)
  数量   int
表bb  
字段:  
  ID   INT   自动增长
  客户   char(10)
  物品   char(10)
  数量   int

表aa   :
数据:
  ID   客户   物品   数量
  1     1           1         1


表bb   :
数据:
  ID   客户   物品   数量
  1     2           2         3
  2     2           2         1
  3     1           1         4

查询语句:
select   a1.*,b1.*
from
(select   客户,物品,sum(数量)   from   aa   group   by   客户,物品)a1
full   join
(select   客户,物品,sum(数量)   from   bb   group   by   客户,物品)b1
on   a1.客户=b1.客户   and   a1.数量=b1.数量

在本地数据:结果是
  a1.客户   物品   数量   b1.客户   物品   数量
        1         1         1             1             1         4
        NULL   NULL   NULL       2             2         4
在另一数据:结果是
  a1.客户   物品   数量   b1.客户   物品   数量
        1         1         1             1             1         4
        NULL   NULL   NULL       2             2         null
        NULL   NULL   NULL       2             2         null

b1里面的(没有跟A对应起来的)数据的分组效果就没有了。郁闷,望有人能知道原因!



------解决方案--------------------------------------------------------
顶~~~
------解决方案--------------------------------------------------------
uP
------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
是不是服务器上的数据和本地的不一致。仔细查一下
  相关解决方案