我遇到这个麻烦有一段时间了,如果有一些帮助会很好!问题是我有这两个查询:
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 子句,它将应用于完整的结果集
关于mysql - 在 mySQL 中加入两个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32470424/