SQLite возвращает несколько строк из подзапроса диапазона дат - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь вернуть все строки из моей таблицы «Register», которые удовлетворяют всем диапазонам дат, указанным в строках таблицы закрытия.Следующий запрос возвращает записи регистра для соответствующей первой строки таблицы закрытия:

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 голосов
/ 12 июня 2018

Может быть, вы хотите внутреннее присоединение register, как это?

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