2012-05-01 17 views

Respuesta

11

agrupar varios une, la sintaxis es la siguiente (no probado en DB2)

SELECT * 
FROM table1 t1 
LEFT JOIN (
    table2 t2 INNER JOIN table3 t3 ON t3.someId = t2.someId 
) ON t2.someId = t1.someId 

misma sintaxis de izquierda unirse dentro LEFT JOIN(), pero por favor leer comentario de @ X-Zero

SELECT * 
FROM table1 t1 
LEFT JOIN (
    table2 t2 LEFT JOIN table3 t3 ON t3.someId = t2.someId 
) ON t2.someId = t1.someId 
+2

Sí, así es como funciona en DB2. El OP solicitó una unión 'LEFT' anidada, pero la sintaxis es la misma. Sin embargo, por lo general, es mejor hacer uniones internas, y dejar que el más externo se encargue de esas tareas (si no es por otra razón que múltiples 'LEFT's pueden ser retorcidas). –

+0

Gracias @ChrisGessler ... tu solución fue muy útil. Ahora puedo usar uniones anidadas en mi consulta. –

Cuestiones relacionadas