La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3136 - LEFT JOIN DE 3 TABLAS
Autor:  jose mendez
Hola:
Trabajo en delphi y necesito hacer una query en sql. Tengo un tabla principal donde tengo los alumnos, la cual se relaciona con otras 2 tablas una de municipios para saber el municipio del alumno y otra de curso para saber el curso que realiza. Deben aparecer todos los alumnos aunque no tengan municipio ni curso asignado pues la query se basa en el codigo del alumno, pero visualizao su municipio y curso si lo tiene con su select normal

select * from alumnos A, cusos C, municipio M where
(A.codigo>Variblea and A.codigo <Variableb) and
(A.codigomunicipio=M.codigomunicipio) and
(A.codigocurso=C.codigocurso)

Esta query si el alumno no tiene un municipio o un curso no sale, para evitarlodebo hacer un Left Join para una tabla principal y una segundaria seria:

Select * from Alumnos left join Municipios on Alumnos.codigodemunicipo=Municipios.codmunicipio.

Pero como meto los cursos sobre los alumnos.

Un saludo.

  Respuesta:  Xavi
Seria algo asi:
Select * from Alumnos left join (cursos LEFT JOIN Municipios on Cursos.codigocurso= Municipios.codigocurso) on Alumnos.codigodemunicipo=Municipios.codmunicipio

Saludos.