sql >> Databáze >  >> RDS >> Mysql

Spojení výsledku dvou dotazů mysql

Dokončuji odpověď @Microgen... Vzhledem k tomu, že již máte dva první výběr fungující tak, jak chcete, můžete si tyto výsledky ponechat v dočasných tabulkách:

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

Poté můžete použít jednoduché spojení a získat konečný výsledek:

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

Dalším způsobem, jak to udělat, je použít VIEW , ale protože indexování není to nejlepší, co mají, vyhnul bych se jim, zvláště když vaše první dva select jsou stejně složité.



  1. Získejte ID řádku tabulky SQLite FTS3

  2. Vložte pomocí PreparedStatement. Jak mohu automaticky zvýšit ID?

  3. nahrání více obrazových souborů do galerie php mysql

  4. Jak vyřešit CHYBU 1060:Duplicitní název sloupce pomocí Zobrazení -> Vytvořit zobrazení