Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verbinden des Ergebnisses zweier Abfragen mysql

Vervollständigung der Antwort von @Microgen ... Da Sie bereits Ihre beiden ersten Auswahlen so haben, wie Sie es möchten, können Sie diese Ergebnisse in temporären Tabellen speichern:

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

Dann könnten Sie einen einfachen Join anwenden, um Ihr Endergebnis zu erhalten:

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

Eine andere Möglichkeit ist die Verwendung von VIEW , aber da die Indizierung nicht das Beste ist, was sie haben, würde ich sie vermeiden, besonders wenn Ihre ersten beiden select genauso komplex sind.