sql >> Database >  >> RDS >> Mysql

Samenvoegen van het resultaat van twee queries mysql

Het antwoord van @Microgen voltooien... Aangezien u uw twee eerste selectie al hebt laten werken zoals u wilt, kunt u die resultaten in tijdelijke tabellen bewaren:

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

Vervolgens kunt u een eenvoudige join toepassen om uw eindresultaat te krijgen:

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

Een andere manier om dit te doen is door VIEW . te gebruiken , maar aangezien de indexering niet het beste is wat ze hebben, zou ik ze vermijden, vooral wanneer je eerste twee select zijn even complex.



  1. Het kolomgegevenstype wijzigen van teken in numeriek in PostgreSQL 8.4

  2. Externe MySQL-verbinding inschakelen:ERROR 1045 (28000):Toegang geweigerd voor gebruiker

  3. Hoe een berekende kolom in de SQL Server-tabel toe te voegen - SQL Server / T-SQL-zelfstudie, deel 47

  4. Gegevens versleutelen in Oracle met PL SQL