Как объединить две таблицы с одинаковыми значениями в столбце

#mysql #sql

#mysql #sql

Вопрос:

У меня есть две таблицы, Table1 и Table2.

В таблице 1 есть столбцы «ID«, «Дата«, а в таблице 2 есть столбцы «ID«, «Стоимость«.

Теперь я хочу объединить эти две таблицы в новую таблицу Table3 со столбцами «ID«, «Date«, «Cost«, чтобы стоимость и дата находились в одной строке, которые имеют одинаковый идентификатор как в Table2, так и в Table1 соответственно.

Короче говоря, я хочу склеить две таблицы относительно столбца, в данном случае «ID«.

Я изучал такие утверждения, как INSERT INTO TABLE , но я не смог заставить его работать.

Ответ №1:

Вы можете выполнить insert-select в результате объединения двух исходных таблиц:

 CREATE TABLE table3 AS
SELECT table1.id AS id, date, cost
FROM   table1
JOIN   table2 ON table1.id = table2.id
  

Комментарии:

1. Я выполняю этот запрос в базе данных с примерно 1,2 миллионами строк. Он работает уже около 2 минут. Надеюсь, я не разбил сервер. Поскольку я не очень разбираюсь в управлении базами данных. Я хотел написать сценарий на python для объединения таблиц. Но я считаю, это должно быть быстрее, чем внешний скрипт?

2. Обновление: работает уже около 10 минут. Должен ли я беспокоиться? : P Также не удается получить доступ к базе данных.

3. Я перезапустил сервер, чтобы прервать процесс, но, похоже, не было добавлено ни одной новой таблицы. Правильный ли запрос?

Ответ №2:

пожалуйста, используйте приведенный ниже SQL для слияния

вставить в таблицу3 (идентификатор, дата1, стоимость) выберите a.id , b.дата1, a.стоимость из таблицы1 a, таблица2 b, где a.id=b.id;