Fuldfører @Microgens svar... Da du allerede har dine to første valg, der fungerer som du vil, kan du beholde disse resultater i midlertidige tabeller:
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>;
Derefter kan du anvende en simpel joinforbindelse for at få dit endelige resultat:
select tmp1.id, tmp1.name, tmp1.address, tmp2.occupation
from tmp1 inner join tmp2 using (id)
order by tmp1.id;
En anden måde at gøre det på er at bruge VIEW
, men da indekseringen ikke er den bedste ting, de har, ville jeg undgå dem, især når dine to første select
er lige så komplekse.