@Rogerg

Как сделать выборку по диапазону дат в Postgresql?

Всем привет, есть вот такая база данных с двумя таблицами
CREATE TABLE T1 (ID SERIAL, ORDER VARCHAR(10), STARTDT DATE, ENDDT DATE);
CREATE TABLE T2 (ID SERIAL, EXPENSES INT, DATE_EXPENSES DATE);

Мне надо соединить их по дате, когда STARTDT и ENDDT совпадают то с этим проблем нет, но иногда это может быть диапазон в несколько дней, тогда расходы должны быть расписаны по дням и привязоны к одному
ордеру (расходы ведутся каждый день) .
Вот пример запроса когда STARTDT и ENDDT совпадают
SELECT ORDER, EXPENSES, DATE_EXPENSES FROM T2
JOIN T1 ON STARTDT=DATE_EXPENSES;

Т.е. должно быть как то так например:
NO1, 10, 01/02/2019
NO1, 20, 01/03/2019
NO2, 10, 01/04/2019
NO3, 100, 02/10/2019
NO3, 100, 02/11/2019
NO3, 150, 02/12/2019
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT ORDER, EXPENSES, DATE_EXPENSES FROM T2 JOIN T1 ON DATE_EXPENSES BETWEEN STARTDT AND ENDDT;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы