SQL EXCLUDE记录,在单独的表中定义时间戳

时间:2015-01-16 01:44:53

标签: sql

我需要编写SQL,它在某个日期范围内排除包含日期的记录。范围由另一个表定义。

第一个TABLE1如下所示:

日期值

'1-jan-15 00:00'., 123
'1-jan-15 00:01'., 999
................., ...
'15-jan-15 16:42', ...

第二个TABLE2如下所示:

START_DATE        END_DATE
'4-jan-15 12:05', '4-jan-15 12:17' 
'7-jan-15 12:15', '4-jan-15 14:10' 
etc

我需要TABLE1中的所有值,但TABLE2.START_DATE和TABLE2.END_DATE之间的时间戳除外

1 个答案:

答案 0 :(得分:1)

Inner Join使用Not Between运算符

的两个表
SELECT datavalue
FROM   table1 a
       INNER JOIN table2 b
               ON a.datavalue NOT BETWEEN b.start_date AND b.endate