У меня есть две таблицы A и B.
- Таблица содержит данные за 3 месяца (будет добавляться каждый день, так как по прошествии нескольких месяцев будут добавляться дополнительные данные за ближайшие месяцы)
* Таблица 1006 * & B содержит данные за 12 месяцев (за полный год).
Возможно, таблица А может пропустить данные за месяц, например, в моем случае у Яна нет данных для одного идентификатора, но за февраль у него есть данные для того же идентификатора.
Когда я беру левое соединение, мне не хватает данных для 1 идентификатора за январь из таблицы 2, поскольку в таблице нет данных для идентификатора 1.
При правильном объединении я получаю данные за 12 месяцев для таблицы 2, поэтому в этом случае также применяется условие соединения month(table A. date)=month(table B. date)
. Я также теряю данные для идентификатора 1 из таблицы 2.
Мое требование - получить данные из таблиц1 и таблиц2 за месяцы в таблице1, и если в таблице нет данных за определенный месяц (например, за январь), то также требуются данные за январь из таблицы 2.
Таблица 1
ID Date value
1 01-Feb-2019 100
2 01-Jan-2019 101
2 01-Feb-2019 102
Таблица 2
ID Date value
1 01-Jan-2019 101
1 01-Feb-2019 100
1 01-Mar-2019 100
2 01-Jan-2019 101
2 01-Jan-2019 101
2 01-Feb-2019 102
2 01-Mar-2019 100
.
.
.
This continues till dec 2019
Здесь в приведенных выше примерах данных я не получаю данные за январь из таблицы 2.
Ожидаемый результат:
ID Jan Feb Mar
1 101 201 100 //Here Jan value from table2
2 201 204 100