在 mySQL 中加入两个查询

Join two querys in mySQL

我遇到这个问题有一段时间了,如果有一些帮助会很好!问题是我有这两个查询:

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

我只想将它放入一个查询中,但我不知道该怎么做,如果有人能帮助我,那就太好了!

唯一的问题是您需要在两个查询之间添加一个联合

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子句,它会应用到完整的结果集