Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Unindo o resultado de duas consultas mysql


Completando a resposta do @Microgen... Como você já tem seus dois primeiros select funcionando como deseja, você pode manter esses resultados em tabelas temporárias:
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>;

Então, você pode aplicar uma junção simples para obter o resultado final:
select tmp1.id, tmp1.name, tmp1.address, tmp2.occupation
    from tmp1 inner join tmp2 using (id)
    order by tmp1.id;

Outra maneira de fazer isso é usar VIEW , mas como a indexação não é a melhor coisa que eles têm, eu os evitaria, especialmente quando seus dois primeiros select são tão complexos.