У меня есть две таблицы с одинаковыми типами столбцов: host
, frequency
и date
.
host
- это первичный ключ.
Я хочутак, чтобы я мог объединить таблицу, скажем, с марта по апрель и суммировать их частоты.
Вот что я должен ожидать в своем окончательном выводе.
- Пусть X будет некоторым значением первичного ключа
host
. - Если X существует только в одной таблицеиспользуйте эту строку в конечном результате.
- Если X существует в обеих таблицах. Суммируйте обе строки
freq
и выберите самую последнюю date
. Так что если мы должны были сравнить между 4/20/19 и 4/2/19, то 4/20/19 должна быть выбрана дата.
Предположим, у меня были следующие таблицы:
host freq date
A 15 4/1/2019
C 30 4/1/2019
host freq date
A 10 3/1/2019
B 20 3/1/2019
Мой идеальный вывод должен быть следующим:
host sum(freq) date
A 25 4/1/2019
B 20 3/1/2019
C 30 4/1/2019
Вот что я попробовал до сих пор:
SELECT host,sum(freq),date
from
(
select
host,
freq,
date
from Report_4.1.19
union
select
host,
freq,
date
from Report_3.1.19
)
group by host
Несмотря на то, что мой код действительно достигает желаемого результата, я не уверен, правильно ли я учелдля выбора даты. Что я могу сделать, чтобы изменить свой код (при необходимости)?