Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL JOIN (mehrere) Tabellen

Versuchen Sie union:

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

Bearbeiten:Sie können aus diesen Ergebnissen eine weitere Auswahl treffen und dann einschränken, gruppieren oder ordnen:

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

Bearbeiten 2:Um nur eine Zeile aus jeder Tabelle (Tabelle 2 und Tabelle 3) zu haben, können Sie Limit/Gruppieren nach/Ordnen nach für jede Abfrage verwenden (vorausgesetzt, Sie haben Spaltendatum):

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