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

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

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

Ответы [ 6 ]

5 голосов
/ 08 ноября 2011
SELECT * FROM table1 UNION SELECT * FROM table2

см. http://dev.mysql.com/doc/refman/5.0/en/union.html

1 голос
/ 08 ноября 2011

Вы не хотите объединяться ... Вы хотите объединиться

Допустим, вы создали свою первую таблицу следующим образом:

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

Вы хотите оператор UNION, подобный этому:

SELECT * from customer
UNION
SELECT * from customer2;

Конечно, вы могли бы выбирать определенные поля вместо SELECT *, если вы просто хотели это.

1 голос
/ 08 ноября 2011

Если вы хотите получить данные из обеих таблиц, как если бы они были в одной, попробуйте использовать UNION:
SELECT * FROM tab1<br> UNION<br> SELECT * FROM tab2

Примечание. Работает только в том случае, если обе таблицы имеют одинаковые столбцы. В противном случае вы должны уточнить SELECT для соответствия столбцам

0 голосов
/ 08 ноября 2011

При таком решении таблицы не обязательно должны быть идентичными.

SELECT a.id AS id1, b.id AS id2 FROM table_1 a INNER JOIN table_2 b
0 голосов
/ 08 ноября 2011

Отметьте « SQL AS ».Удачи

0 голосов
/ 08 ноября 2011

Вам необходимо добавить псевдоним для «дубликата» столбца при использовании соединения.Что-то вроде

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