2012-08-24 51 views
1

我需要帮助。 我有2张桌子。MySQL:选择2列与不同的列名称和数额

表1与4列(电子邮件,名字,姓氏,状态)

表2 1柱(地址)

,我想查询2个表,像这样的结果

新表5列(电子邮件,名字,姓氏,身份,地址)

我已经试过与JOIN语句类似这样的

SELECT email, firstname, lastname, status FROM table1 LEFT JOIN table2 ON (0) 

其结果将是从表1只4列。

如果我使用RIGHT JOIN,结果将是与table1相同的4列,buat所有NULL值。

并且使用INNER JOIN,结果是来自table1的4列,没有值。

然后我使用UNION这样

SELECT email, firstname, lastname, status FROM table1 
UNION 
SELECT address, '', '', '' FROM table2 

结果将作为萨马LEFT JOIN结果。

我错过了什么? 非常感谢您的答案。

+0

'ON(0)'意味着没有行匹配连接条件(0为假),则需要以提供用于两个表中的相应的行的真实的表达式。 MySQL应该如何知道两个表中的哪些行应该连接在一起? – Barmar

回答

1

如果你没有这两个表之间的关系,我不明白需要制作两个单独的表。我建议你做表之间的关系

一个例子是

0

,如果你有这两个表,你可以不喜欢它babooney说也可以使一个多表将有两个外键,一个来自table1,另一个来自table2。

例如:table3(id, id_table1, id_table2)