Я новичок в SQL, и я даже не уверен, возможно ли то, что я пытаюсь достичь.
У меня есть две таблицы.Первый дает номер счета, дату «от» и дату «до».Вторая таблица показывает ежемесячный объем для каждой учетной записи.
Table 1 - Dates
Account# Date_from Date_to
-------- --------- -------
123 2018-01-01 2018-12-10
456 2018-06-01 2018-12-10
789 2018-04-23 2018-11-01
Table 2 - Monthly_Volume
Account# Date Volume
--------- ---------- ------
123 2017-12-01 5
123 2018-01-15 5
123 2018-02-05 5
456 2018-01-01 10
456 2018-10-01 15
789 2017-06-01 5
789 2018-01-15 10
789 2018-06-20 7
Я хотел бы объединить две таблицы таким образом, чтобы каждая учетная запись в Таблице 1 имела четвертый столбец, в котором приводится сумма объема между Date_from иDate_to.
Desired Result:
Account# Date_from Date_to Sum(Volume)
-------- --------- ------- -----------
123 2018-01-01 2018-12-10 10
456 2018-06-01 2018-12-10 15
789 2018-04-23 2018-11-01 7
Я считаю, что этого можно было бы достичь для каждой учетной записи индивидуально, выполнив что-то вроде следующего и присоединив результат к таблице дат:
SELECT
Account#,
SUM(Volume)
FROM Monthly_Volume
WHERE
Account# = '123'
AND Date_from >= TO_DATE('2018-01-01', 'YYYY-MM-DD')
AND Date_to <= TO_DATE('2018-12-10', 'YYYY-MM-DD')
GROUP BY Account#
Что яХотелось бы узнать, возможно ли достичь этого без необходимости индивидуального заполнения Account Number, Date_from и Date_to для каждой учетной записи (существует ~ 1000 учетных записей), но нужно ли это делать автоматически для каждой записи в таблице Dates.
Спасибо!