求一SQL语句,该怎么解决

求一SQL语句,该怎么解决

求一SQL语句

曾经问过一次,没有问全

 

A 表 ID CODE 机器表

B 表 ID CODE ADDTIME(维护时间) 机器维护信息表

B表中的数据 是 机器维护情况的记录,一个月可对一台机器 进行多次维护,即一台机器一个月可以有多条维护记录

现在想得到的是 本月 中尚未 维护的机器信息

A表数据量 大概 5万左右 

我能想到的语句是

SQL code


  
selec * from a  left join (select * from b where addtime >=start and addtime <=end) as b  where b.id is null 

(start end 都为程序计算出的时间戳 可以当做已知的)

想请问 有没有更好的办法,还有就是听说 数据大的时候 关联查询会很慢,想求证下是不是真的。谢谢各位了



selec * 

from a left join (select * from b where addtime >=start and addtime <=end) as b on a.code=b.code

where b.id is null 




select * from 机器表 a where not exists (select 1 from 机器维护信息表 where ID=a.ID and 维护时间>=’2011-12-01′);

求一SQL语句,该怎么解决

相关文章:

你感兴趣的文章:

标签云: