Как я могу выбрать 2 таблицы, не перезаписывая друг друга?

#php #sql #database #join

#php #sql #База данных #Присоединиться

Вопрос:

В настоящее время в моей базе данных есть 2 таблицы с одинаковыми столбцами. Данные внутри разные, но мне нужно объединить их в 1 таблицу с помощью запроса.

Я пробовал с joins, но почему-то получается, что он перезаписывает другую.

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

1. Куда вам нужны результирующие данные? Переместить все данные из одной в другую или все данные в третьей таблице?

Ответ №1:

 SELECT * FROM table1 UNION SELECT * FROM table2
  

смотрите http://dev.mysql.com/doc/refman/5.0/en/union.html

Ответ №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