菜鸟求教一个SQL语句怎么写,在线狂等............
共两张表,一张任务表有三个电话号码,以及最新发生时间,一张电话拨打情况表有一个电话号码以及该号码的拨打状态和最新发生时间;
任务表如下:
create table queue(
call_id number(10) primary key not null,
alarm_orgfp varchar2(46) not null,
Alarm_last_event_time date,--最新发生时间
telno1 varchar2(32) not null,
telno2 varchar2(32),
telno3 varchar2(32)
);
电话拨打情况表如下:
create table tmpdial(
telno varchar2(32) not null,
Alarm_last_date date default sysdate not null, --最新发生时间
send_status number(1) default 0 not null, --拨打状态
primary key(telno,Alarm_last_date)
);
我想查出任务表中的每一条记录的alarm_orgfp,三个电话号码,以及三个电话号码的状态值等字段,两张表的关联条件是任务表中每个电话分别对应拨打情况表中一条记录,另一个重要条件是任务表的Alarm_last_event_time减去拨打情况表的Alarm_last_date时间大于0分钟,小于十分钟
oracle
sql语句
两表关联查询
------解决方案--------------------telno 和 telno123 之间的哪一个有关联关系哦? 意思是,一条对应一条的条件大概是啥
------解决方案--------------------SELECT TQ.ALARM_ORGFP,
TQ.TELNO1, T1.SEND_STATUS,
TQ.TELNO2, T2.SEND_STATUS,
TQ.TELNO3, T3.SEND_STATUS
FROM QUEUE TQ, TMPDIAL T1, TMPDIAL T2, TMPDIAL T3
WHERE TQ.TELNO1 = T1.TELNO
AND TQ.TELNO2 = T2.TELNO
AND TQ.TELNO3 = T3.TELNO
AND TQ.Alarm_last_event_time - T1.Alarm_last_date BETWEEN 0 AND 10/(24*60)
AND TQ.Alarm_last_event_time - T2.Alarm_last_date BETWEEN 0 AND 10/(24*60)
AND TQ.Alarm_last_event_time - T3.Alarm_last_date BETWEEN 0 AND 10/(24*60)
------解决方案--------------------一个问题就是:三个号码要同时满足大于0小于10分钟才查得到。