借人气 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对应起来的)数据的分组效果就没有了。郁闷,望有人能知道原因!
[解决办法]
没有用过Oracle,帮顶