Mysql
 sql >> Database >  >> RDS >> Mysql

Unire il risultato di due query mysql

Completamento della risposta di @Microgen... Dal momento che hai già le prime due selezioni che funzionano come desideri, puoi mantenere quei risultati in tabelle temporanee:

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>;

Quindi, puoi applicare un semplice join per ottenere il risultato finale:

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

Un altro modo per farlo è usare VIEW , ma poiché l'indicizzazione non è la cosa migliore che hanno, li eviterei, specialmente quando i tuoi primi due select sono altrettanto complessi.