2011-11-02 13 views
13

Actualmente estoy haciendo esta consulta:¿Cómo hacer IZQUIERDA unir con más de 2 tablas?

select a.x, b.x, c.x 
from number as a, customer as b, numbergroup as c 
where a.b = b.b and a.c = c.c and c.b = b.b 

Sin embargo, quiero recuperar los registros de la tabla "A" incluso si "ac = null", que no se recuperó debido a la unión entre "a" y " do".

He encontrado información sobre la "combinación izquierda" (http://www.w3schools.com/sql/sql_join_left.asp) pero no sé cómo hacerlo cuando la consulta implica más de dos tablas como en este caso.

Cualquier ayuda u orientación será muy apreciada.

+2

¿No puedes usar dos instrucciones de unión? 'SELECT xyz FROM table_a LEFT JOIN table_b ON xyz = xyz LEFT JOIN table_c ON xyz = xyz' Eche un vistazo al [manual de MySQL] (http://dev.mysql.com/doc/refman/5.0/en/join. html) – dwalldorf

+2

¿Sabes qué necesita esta pregunta? Más respuestas duplicadas;) – Phil

Respuesta

32
select a.x, b.x, c.x 
from number as a 
left join customer as b on a.b = b.b 
left join numbergroup as c on a.c = c.c and c.b = b.b 
+5

+1 para la * primera * respuesta correcta – Phil

+0

¿Qué sucede si los resultados de 'number' no tienen nada, pero igual debe obtener los resultados de' customer', mientras que IZQUIERDA sigue uniéndose al 'numbergroup ¿? ¡Esto no funciona en ese caso! –

+0

Esto fue muy útil gracias –

Cuestiones relacionadas