在mySQL中加入两个查询

时间:2015-09-09 03:25:35

标签: mysql inner-join

我有一段时间遇到这种麻烦,一些帮助会很棒!问题是我有这两个问题:

SELECT u.idusuario, u.usuario, coordi.nombres, coordi.apellidos, u.email, coordi.fecha_inicio, u.DatoUsuario
FROM usuarios u INNER JOIN coordinadores coordi ON u.idusuario=coordi.Usuarios_idusuario

SELECT u.idusuario, u.usuario, admin.nombres, admin.apellidos, u.email, admin.fecha_inicio, u.DatoUsuario 
FROM usuarios u INNER JOIN administradores admin ON u.idusuario=admin.Users_idUsers

我希望只将其纳入一个查询但我不知道该怎么做,如果有人可以帮助我就会很棒!

1 个答案:

答案 0 :(得分:1)

唯一需要在查询

之间添加联盟
SELECT u.idusuario, u.usuario, coordi.nombres, coordi.apellidos, u.email, coordi.fecha_inicio, u.DatoUsuario
FROM usuarios u INNER JOIN coordinadores coordi ON u.idusuario=coordi.Usuarios_idusuario

UNION

SELECT u.idusuario, u.usuario, admin.nombres, admin.apellidos, u.email, admin.fecha_inicio, u.DatoUsuario 
FROM usuarios u INNER JOIN administradores admin ON u.idusuario=admin.Users_idUsers

您可以阅读更多有关Union的信息,用于将多个SELECT语句的结果合并到一个结果集中。

第一个SELECT语句中的列名用作返回结果的列名。在每个SELECT语句的相应位置中列出的选定列应具有相同的数据类型。

排序

SELECT u.idusuario, u.usuario, coordi.nombres, coordi.apellidos, u.email, coordi.fecha_inicio, u.DatoUsuario
(SELECT u.idusuario, u.usuario, coordi.nombres, coordi.apellidos, u.email, coordi.fecha_inicio, u.DatoUsuario
FROM usuarios u INNER JOIN coordinadores coordi ON u.idusuario=coordi.Usuarios_idusuario

UNION

SELECT u.idusuario, u.usuario, admin.nombres, admin.apellidos, u.email, admin.fecha_inicio, u.DatoUsuario 
FROM usuarios u INNER JOIN administradores admin ON u.idusuario=admin.Users_idUsers) as Results
order by u.idusuario;

您也可以直接编写Orderby Clause,它将应用于完整的结果集