#php #sql #database #join
#php #sql #База данных #Присоединиться
Вопрос:
В настоящее время в моей базе данных есть 2 таблицы с одинаковыми столбцами. Данные внутри разные, но мне нужно объединить их в 1 таблицу с помощью запроса.
Я пробовал с joins, но почему-то получается, что он перезаписывает другую.
Комментарии:
1. Куда вам нужны результирующие данные? Переместить все данные из одной в другую или все данные в третьей таблице?
Ответ №1:
SELECT * FROM table1 UNION SELECT * FROM table2
Ответ №2:
Вы не хотите выполнять объединение… вы хотите выполнить ОБЪЕДИНЕНИЕ
Допустим, вы создали свою первую таблицу следующим образом:
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50));
И ваша вторая таблица (с теми же полями) вот так:
CREATE TABLE customer2
(First_Name char(50),
Last_Name char(50),
Address char(50));
Вам нужен оператор объединения, подобный этому:
SELECT * from customer
UNION
SELECT * from customer2;
Конечно, вы могли бы выбрать определенные поля, а не SELECT *, если бы вы просто этого хотели.
Ответ №3:
Если вы хотите получить данные из обеих таблиц, как если бы они были в одной, попробуйте использовать UNION:
SELECT * FROM tab1
UNION
SELECT * FROM tab2
Примечание: Работает, только если обе таблицы имеют точно такие же столбцы. В противном случае вам придется уточнить выбор, чтобы соответствовать столбцам
Ответ №4:
Вам нужно добавить псевдоним для столбца «duplicate» при использовании join. Что-то вроде
a.mycolumn as column, b.mycolumn as column2
Ответ №5:
Проверьте «SQL КАК«. Удачи
Ответ №6:
С этим решением таблицы не обязательно должны быть идентичными.
SELECT a.id AS id1, b.id AS id2 FROM table_1 a INNER JOIN table_2 b