sql >> Base de Datos >  >> RDS >> Mysql

Mysql JOIN (múltiples) tablas

Prueba unión:

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

Editar:puede hacer otra selección de esos resultados, luego puede limitar, agrupar u ordenar:

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

Edición 2:para tener solo una fila de cada tabla (tabla 2 y tabla 3), puede usar limitar/agrupar por/ordenar por para cada consulta (suponiendo que tenga la fecha de la columna):

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