#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;