我需要编写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之间的时间戳除外
答案 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