带有在单独表中定义的时间戳的 SQL EXCLUDE 记录
Posted
技术标签:
【中文标题】带有在单独表中定义的时间戳的 SQL EXCLUDE 记录【英文标题】:SQL EXCLUDE records with timestamps defined in the separate table 【发布时间】:2015-01-16 01:44:53 【问题描述】:我需要编写排除特定日期范围内日期的记录的 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】:Inner Join
两个表使用Not Between
运算符
SELECT datavalue
FROM table1 a
INNER JOIN table2 b
ON a.datavalue NOT BETWEEN b.start_date AND b.endate
【讨论】:
@Tigger,如果有效,请接受答案以结束问题以上是关于带有在单独表中定义的时间戳的 SQL EXCLUDE 记录的主要内容,如果未能解决你的问题,请参考以下文章