Как передать дату в запросе - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть таблица с начальной и конечной датами.Я должен получить эти даты и проверить, находятся ли эти даты в диапазоне значений столбца другой таблицы ...

Я попытался получить begindate, и завершить с помощью запроса select и использовалbetween ключевое слово для проверки диапазона

select invoice 
from customer 
where BOOK_DATE BETWEEN(select begindate, enddate 
                        from Period 
                        where i_status = 1)

Фактический результат: отсутствует ключевое слово Ожидаемый результат: Пример: Дата начала = 1-мая-19, Дата окончания = 31-мая-19 и book_date = 15-19 мая должен быть возвращен счет-фактура типа «123ABC»

Ответы [ 2 ]

2 голосов
/ 24 апреля 2019

Вы можете использовать EXISTS и коррелированный подзапрос, который проверяет, существует ли строка в периоде, где дата бронирования находится между начальной и конечной датой, а статус равен 1.

SELECT c.invoice
       FROM customer c
       WHERE EXISTS (SELECT *
                            FROM period p
                            WHERE c.book_date BETWEEN p.begindate
                                                      AND p.enddate
                                  AND p.i_status = 1);
0 голосов
/ 24 апреля 2019

Между И между ними стоит попробовать

BETWEEN(SELECT begindate FROM Period WHERE i_status = 1) AND (SELECT enddate FROM 
Period WHERE i_status = 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...