SQLite从日期范围子查询返回多行

时间:2018-06-11 20:56:35

标签: sql sqlite date-range

我正在尝试从我的“注册”中返回所有行。满足闭包表中行所指定的所有日期范围的表。以下查询返回闭包表的相应第一行的寄存器条目:

select * from Register where NOT(start_time > (select EndDate from Closures) OR start_time  < (select StartDate from Closures)) group by id;

闭包表具有以下开始和结束日期:

"2018-09-21"    "2018-09-27"
"2018-06-12"    "2018-06-12"
"2018-06-10"    "2018-06-12"
"2018-06-15"    "2018-06-15"
"2018-06-19"    "2018-06-24"

但上面的查询只返回Register中的行,就像子查询返回2018-09-21和2018-09-27一样,如何让它基本上为子查询的所有行运行外部查询?

1 个答案:

答案 0 :(得分:1)

您可能想要内联register吗?

SELECT r.*
       FROM register r
            INNER JOIN closures c
            ON c.enddate >= r.start_time
               and c.startdate <= r.start_time;