各位大侠,对于数据库方面我是一个新手,劳烦帮忙,先行谢过。我有两个oracle的数据库,ora1和ora2,我用下面的查询语句进行的查询:select a.id, sum(b.duration) from ora1 a, ora2 b where a.month_number = 02 and b.month_number = 02 and a.id = b.id group by a.id;还有两个mysql的数据库,my1和my2,其中my1中的数据与ora1的数据完全相同,my2与ora2中的数据也完全相同。
mysql中我用的是这样的查询语句:select a.id, sum(b.duration) from my1 a, my2 b where a.month_number = 02 and b.month_number = 02 and a.id = b.id group by a.id;
现在的问题是,这两个查询语句得到的结果居然完全不同,我想请问是我的查询语句哪里写的不对?还是其它的原因,望高手回答。在线等
mysql中我用的是这样的查询语句:select a.id, sum(b.duration) from my1 a, my2 b where a.month_number = 02 and b.month_number = 02 and a.id = b.id group by a.id;
现在的问题是,这两个查询语句得到的结果居然完全不同,我想请问是我的查询语句哪里写的不对?还是其它的原因,望高手回答。在线等
解决方案 »
- mysql用记事本修改了user.MYD就启动不了了
- MySQL 多个表查询问题
- 请问大家如何把我这个ORACLE版SQL文改写成MySql版
- 为什么我新建了表以后,妖往表中添加数据却出错????
- mysql 主从数据库
- 重新改了一下我的需求,希望高手能够看懂~~
- 求救 为什么添加的数据 都是NULL啊??!
- 复制环境 1亿的大表删除数据
- Mysql php apache tomcat 论坛数据库错误
- 订餐规则,一定时间内可以消费,早餐:7:00-9:00,午餐:11:30-13:30,晚餐17:00-19:00,如何统计就餐的次数?
- 用pgAdmin Ⅲ能不能导出postgreSQL服务器上数据库内的数据
- MySql的instr()函数
MONTH_NUMBER NUMBER(2),
USER_ID NUMBER(16),
NAME VARCHAR2(80),
CUSTOMER_ID NUMBER(16),
MSISDN NUMBER(11),
ID NUMBER(5),
ora2表结构: MONTH_NUMBER NUMBER(2),
STAT_DATE NUMBER(8),
USER_ID NUMBER(16),
ID NUMBER(16),
OTHER_ASP NUMBER(4),
GROUP_CALL_FLAG NUMBER(2),
OTHER_AREA NUMBER(7),
IMEI VARCHAR2(15),
CALL_DURATION NUMBER(8),
DURATION NUMBER(8),
my1表结构: MONTH_NUMBER int(2),
USER_ID bigint(16),
NAME varchar(80),
CUSTOMER_ID int(16),
MSISDN int(11),
ID int(5),my2表结构: MONTH_NUMBER int(2),
STAT_DATE int(8),
USER_ID bigint(16),
ID bigint(16),
OTHER_ASP int(4),
GROUP_CALL_FLAG int(2),
OTHER_AREA int(7),
IMEI varchar(15),
CALL_DURATION int(8),
DURATION int(8),是从mysql中将数据导入到oracle中的,用命令create table as ....
并且对全表的数据,做过对比,数据是一样的。
在查询结果中,id是一样的,但是DURATION求出的sum一点都不一样
from ora2;select sum(duration)
from my2;比一下这两个结果一不一样先。select id, sum(duration)
from ora2
where month_number = 02
group by idselect id, sum(duration)
from my2
where month_number = 02
group by id再比这两个,找出一个不一样的ID,然后比这个ID下的记录。 逐步找出问题。
select sum(duration)
from ora2;
和
select sum(duration)
from my2;
的结果是一样的。而且select id, sum(duration)
from ora2
where month_number = 02
group by id
和
select id, sum(duration)
from my2
where month_number = 02
group by id
的结果也是一样的。我就不明白了,为什么一起查的时候就不一样了呢?
select a.*,b.*
from ora1 a, ora2 b
where a.month_number = 02 and b.month_number = 02
and a.id = b.id and a.id=xx;
select a.*,b.*
from my1 a, my2 b
where a.month_number = 02 and b.month_number = 02
and a.id = b.id and a.id=xx;找出差异的记录。