如何选择2个表而不会相互覆盖?

时间:2011-11-08 13:36:22

标签: php sql database join

我目前在数据库中有2个表,列数相同。 里面的数据是不同的,但我需要将它们组合成一个带有查询的表。

我尝试使用连接,但不知怎的,我知道它覆盖了另一个。

6 个答案:

答案 0 :(得分:5)

SELECT * FROM table1 UNION SELECT * FROM table2

请参阅http://dev.mysql.com/doc/refman/5.0/en/union.html

答案 1 :(得分:1)

如果您想从两个表中获取数据,就像它们在一个表中一样,请尝试使用UNION:
SELECT * FROM tab1
UNION
SELECT * FROM tab2

注意:仅当两个表具有完全相同的列时才有效。否则,您必须优化SELECT以匹配列

答案 2 :(得分:1)

你不想加入...你想做一个UNION

假设你创建了第一个这样的表:

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 *。

答案 3 :(得分:0)

使用join时,需要为“duplicate”列添加别名。像

这样的东西
a.mycolumn as column, b.mycolumn as column2

答案 4 :(得分:0)

检查“SQL AS”。 祝你好运

答案 5 :(得分:0)

使用此解决方案,表格不需要是相同的。

SELECT a.id AS id1, b.id AS id2 FROM table_1 a INNER JOIN table_2 b