sql >> Databasteknik >  >> RDS >> Mysql

Förenar resultatet av två frågor mysql

Slutför @Microgens svar... Eftersom du redan har dina två första val som fungerar som du vill, kan du behålla dessa resultat i tillfälliga 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>;

Sedan kan du använda en enkel anslutning för att få ditt slutresultat:

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

Ett annat sätt att göra det är att använda VIEW , men eftersom indexeringen inte är det bästa de har, skulle jag undvika dem, speciellt när dina två första select är lika komplexa.



  1. ExecuteNonQuery returnerar -1 när du använder sql COUNT trots frågesträngen

  2. Vad är skillnaden mellan MySQL BOOL och BOOLEAN kolumndatatyper?

  3. Hur migrerar man en befintlig Postgres-tabell till en partitionerad tabell så transparent som möjligt?

  4. Hur TO_SECONDS() fungerar i MariaDB