Как я могу вставить новые строки из таблицы 2 в таблице 1 с соответствующей датой? - PullRequest
0 голосов
/ 19 марта 2019

У меня есть две таблицы, к которым я хочу присоединиться, используя поле даты:

  • Таблица 1: есть несколько записей для каждой даты
  • Таблица 2: есть только 1 записьдля каждой даты

Как я могу обновить записи в Таблице 1 с полями из Таблицы 2, соответствующими дате.Вот пример:

table1 
column1    column2   column3
03/02/2018 .......   ......
03/02/2018 .......   ......
03/02/2018 .......   ......
04/02/2018 .......   ......
04/02/2018 .......   ......
05/02/2018 .......   ......
05/02/2018 .......   ......

table2
column4     column5   column6
03/02/2018  .......   .......
04/02/2018  .......   .......
05/02/2018  .......   .......

вот что я хотел бы сделать

table1
column1    column2   column3  column4   column5   column6
03/02/2018 .......   ......
03/02/2018 .......   ......
03/02/2018 .......   ......   .......    ......   .......  <= same date 
04/02/2018 .......   ......
04/02/2018 .......   ......   .......    ......   .......  <= same date
05/02/2018 .......   ......
05/02/2018 .......   ......   .......    ......   .......  <= same date

спасибо!

1 Ответ

0 голосов
/ 19 марта 2019

Кажется, вы просто хотите left join:

select t1.*, t2.column5, t2.column6
from table1 t1 left join
     table2 t2
     on t1.column1 = t2.column4;

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

Если вы действительно хотите обновить table1, вам нужно начать с изменения таблицы, чтобы иметь новые столбцы (что может быть дорогостоящей операцией), а затем обновить значения в столбцах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...