将具有不同列名的2个表连接成1而不重复

时间:2015-08-24 17:07:19

标签: php mysql

usuarios
--------
nombre 

contactos
---------
nombre

我有一个插入页面,我可以选择谁负责该任务。它可以是客户(contactos)或注册员工(usuarios)。客户也可以在以后注册,以便他们登录。

我需要在select(在db中进一步插入)中显示usuarios.nombre和contactos.nombre的所有值而不重复(如果客户端也已注册)。

我正在研究PHP和MYSQL。谢谢!

1 个答案:

答案 0 :(得分:0)

这正是为UNION查询构建的内容。在您的情况下,查询将如下所示:

SELECT nombre FROM usuarios
UNION 
SELECT nombre FROM contactos

默认情况下,这只会返回两个表之间的唯一匹配。它将以单列返回。

如果您不希望这些值是唯一的,那么您只需将其更改为:

SELECT nombre FROM usuarios
UNION ALL
SELECT nombre FROM contactos

现在MySQL将提供它在两个表中找到的每个nombre记录。