2011-02-06 12 views
18

¿Cómo preformaría dos uniones internas en una consulta?Dos uniones internas MYSQL

Es decir: tres mesas

factura
Dirección
cliente

factura tiene una columna que hace referencia a un identificador de clientes. También tiene una columna que hace referencia a una dirección. Necesito obtener el nombre de los clientes de la tabla coincidente y la dirección de la tabla coincidente. ¿Cómo iba yo INNER JOIN ambas tablas?

voy a añadir algunos detalles ...
factura tiene dirección de filas (referencias dirección ID), cliente (referencias Identificación del cliente), y toma nota de Identificación del cliente tiene filas nombre, apellido dirección tiene filas STREET_NAME y la ciudad

tengo que tirar hacia arriba

+0

Se necesitan más datos. –

Respuesta

29

Puede tener tantas cláusulas JOIN como necesite en la consulta. Cada uno tiene una cláusula ON en la que se especifican las columnas relacionadas entre las tablas unidas.

SELECT 
    columns 
FROM 
    invoice 
INNER JOIN 
    address 
ON 
    join_condition 
INNER JOIN 
    client 
ON 
    join_condition 
+0

No estaba al tanto de esto. Bueno saber. ¡Gracias! – Yoshiyahu

8

Algo así como:

SELECT 
    c.*, i.*, a.* 
FROM 
    invoices i 
INNER JOIN 
    client c 
ON 
    i.clientid = c.clientid 
INNER JOIN 
    address a 
ON 
    a.clientid = c.clientid 
WHERE 
    i.id = 21 

no se le olvida seleccionar solamente los campos que se requieren, no * (todo).

+0

¿Funcionará esto sin un segundo encendido? – Yoshiyahu

+0

Vaya, se olvidó de agregar eso. Ver editar. – Prisoner

+0

Funcionó, gracias –

Cuestiones relacionadas