[阅读: 355] 2010-03-18 08:35:26
首先从一个表中获取时间列表
select _time from one_table where event = 123;
然后在另外一张表中取出这些时间点附近的记录
即针对上一个select返回的每条结果记录中的_time做如下查询
begin_time = _time - 60;
end_time = _time + 60;
select * from other_table
where (begin_time < _time) and (_time < end_time)
偶现在是用拼字符串的办法,为第二个select的where生成多个条件,类似于:
select * from other_table where
((begin_time1 < _time) and (_time <end_time1))
or ((begin_time2 < _time) and (_time <end_time2))
or ((begin_time3 < _time) and (_time <end_time3))
or …………
有没有办法一个select完成以上两个查询?