sql >> Databasteknik >  >> RDS >> Mysql

Mysql JOIN (flera) tabeller

Prova 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

Redigera:Du kan göra ett annat val från dessa resultat, sedan kan du begränsa, gruppera eller beställa:

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

Redigera 2:För att bara ha en rad från varje tabell (tabell 2 och tabell 3) kan du använda limit/group by/order by för varje fråga (förutsatt att du har kolumndatum):

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. LocalDB-distribution på klientdator

  2. Lagrar effektivt 7 300 000 000 rader

  3. SQL Server:ORDER BY-parametrar i IN-satsen

  4. 2 sätt att lista alla tabellvärderade funktioner i en SQL Server-databas