sql >> Base de Datos >  >> RDS >> Mysql

Uniendo el resultado de dos consultas mysql

Completando la respuesta de @Microgen... Dado que ya tiene sus dos primeras selecciones funcionando como desea, puede mantener esos resultados en tablas temporales:

create temporary table tmp1 as <your first select>;
alter table tmp1 add <some index to accelerate your join later>;
create temporary table tmp2 as <your second select>;
alter table tmp2 add <some index to accelerate your join later>;

Luego, podría aplicar una unión simple para obtener el resultado final:

select tmp1.id, tmp1.name, tmp1.address, tmp2.occupation
    from tmp1 inner join tmp2 using (id)
    order by tmp1.id;

Otra forma de hacerlo es usar VIEW , pero como la indexación no es lo mejor que tienen, los evitaría, especialmente cuando tus dos primeros select son igual de complejos.