首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

求一SQL语句,该怎么解决

2012-02-23 
求一SQL语句曾经问过一次,没有问全A表IDCODE机器表B表IDCODEADDTIME(维护时间)机器维护信息表B表中的数据

求一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');

热点排行