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

Mysql JOIN (více) tabulek

Zkuste sjednocení:

SELECT table1.name, temperature, pressure 
FROM table1 inner join table2 ON
table1.name = table2.name
UNION
SELECT table1.name, temperature, pressure 
FROM table1 inner join table3 ON
table1.name = table3.name

Edit:Můžete provést další výběr z těchto výsledků, pak můžete omezit, seskupit nebo objednat:

SELECT * FROM
(
    SELECT table1.name, temperature, pressure 
    FROM table1 inner join table2 ON
    table1.name = table2.name
    UNION
    SELECT table1.name, temperature, pressure 
    FROM table1 inner join table3 ON
    table1.name = table3.name
) as JoinedTable
LIMIT 0, 1

Edit 2:Chcete-li mít pouze jeden řádek z každé tabulky (tabulka 2 a tabulka 3), můžete pro každý dotaz použít omezení/seskupení podle/pořadí podle (za předpokladu, že máte datum sloupce):

SELECT table1.name, temperature, pressure 
FROM table1 inner join table2 ON
table1.name = table2.name
ORDER BY date DESC
LIMIT 0, 1
UNION
SELECT table1.name, temperature, pressure 
FROM table1 inner join table3 ON
table1.name = table3.name
ORDER BY date DESC
LIMIT 0, 1


  1. vložte více řádků do mysql prostřednictvím node.js

  2. Předejte pole jako vstupní parametr uložené proceduře oracle pomocí jednoduchého volání jdbc

  3. Je možné zřetězit řetězce z více řádků a tabulek do jednoho výsledného sloupce?

  4. Jak odstranit řádky s obousměrnými závislostmi?