Join com 4 tabelas

Firebird

20/08/2003

como executar um join em 3 tabelas. ex:

SELECT C.*, D.NOME NOMEDEP, E.NOME NOMEEMP
FROM CLIENTE C LEFT JOIN DEPARTAMENTO D LEFT JOIN EMPRESA E
ON (C.DEPARTAMENTO = D.DEPARTAMENTO)
ON (C.EMPRESA = E.EMPRESA)

caso D.DEPARTAMENTO esteja vazio, o nome da empresa nao aparece.
colocando:
FROM EMPRESA E RIGHT JOIN CLIENTE C LEFT JOIN DEPARTAMENTO D
dá certo, porém, quando eu usar 4 tabelas nao sei como fazer.


Fabiogr

Fabiogr

Curtidas 0

Respostas

Paulo Renato

Paulo Renato

20/08/2003

Caro fabio, experimente fazer da seguinte forma:

SELECT C.*,
D.NOME NOMEDEP,
E.NOME NOMEEMP,
x.nome nomecidade
FROM CLIENTE C
LEFT JOIN DEPARTAMENTO D on (C.DEPARTAMENTO = D.DEPARTAMENTO)
LEFT JOIN EMPRESA E ON (C.EMPRESA = E.EMPRESA)
left join cidades x on (x.cod_cidade = c.cod_cidade)

Acrescente quantos left join forem necessários. Vale lembrar que quando vc usa inner a instrução só retorna os registro que satisfaçam todas as condições dos inners.


GOSTEI 0
POSTAR