Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Łączenie wyniku dwóch zapytań mysql

Uzupełnianie odpowiedzi @Microgen... Ponieważ masz już dwa pierwsze zaznaczenia pracujące tak, jak chcesz, możesz zachować te wyniki w tabelach tymczasowych:

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

Następnie możesz zastosować proste sprzężenie, aby uzyskać ostateczny wynik:

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

Innym sposobem na to jest użycie VIEW , ale ponieważ indeksowanie nie jest najlepszą rzeczą, jaką mają, unikałbym ich, szczególnie gdy twoje pierwsze dwa select są równie złożone.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chcę zrobić stronę wyszukiwania, na której chcę wyświetlić moje wyszukiwane dane z bazy danych w div?

  2. Jak mogę uzyskać najpopularniejsze słowa w tabeli za pomocą mysql?

  3. Zapytanie SQL wielu wartości w jednej komórce

  4. Nieunikalna tabela/alias

  5. Jak obliczyć rozmiar indeksów w MySQL?