Inner join com right join
Pessoal preciso da ajuda de vcs
minha situação e a seguinte
tenho 3 tabelas A, B, C
As três tem o campo documento em comum.
Eu preciso saber o que tem A, B e não esta em C
e o que tem em C que não tem em A, B
Query para trazer o que não tem em C
SELECT A.documento
FROM ((A INNER JOIN B ON A.documento = B.documento)
LEFT JOIN C ON B.documento = C.documento)
WHERE C.documento IS null;
Tentei RIGHT JOIN mais mais não deu certo
desde já agradeço.
minha situação e a seguinte
tenho 3 tabelas A, B, C
As três tem o campo documento em comum.
Eu preciso saber o que tem A, B e não esta em C
e o que tem em C que não tem em A, B
Query para trazer o que não tem em C
SELECT A.documento
FROM ((A INNER JOIN B ON A.documento = B.documento)
LEFT JOIN C ON B.documento = C.documento)
WHERE C.documento IS null;
Tentei RIGHT JOIN mais mais não deu certo
desde já agradeço.
Lucas Burg
Curtidas 0
Respostas
Jefferson Santos
20/12/2013
Porque não tenta o simples not exists?
GOSTEI 0
Fabiano Carvalho
20/12/2013
select * from c
right join (select a.*,b.documento from a inner join b on a.documento = b.documento) as d
on a.documento = d.documento
where c.documento is null
E
select * from c
left join (select a.*,b.documento from a inner join b on a.documento = b.documento) as d
on a.documento = d.documento
where d.documento is null
right join (select a.*,b.documento from a inner join b on a.documento = b.documento) as d
on a.documento = d.documento
where c.documento is null
E
select * from c
left join (select a.*,b.documento from a inner join b on a.documento = b.documento) as d
on a.documento = d.documento
where d.documento is null
GOSTEI 0
Lucas Burg
20/12/2013
Opa, consegui resolver com NOT IN, como eu faço para usar EXISTS ? pode me mostrar
GOSTEI 0
Fabiano Carvalho
20/12/2013
not in é zuado usar, questão de consistencia, not exists a mesma coisa..
mas se quiser só substituir por not exists o not in.
mas se quiser só substituir por not exists o not in.
GOSTEI 0
Lucas Burg
20/12/2013
Obrigado Fabiano ! show
GOSTEI 0
Jefferson Santos
20/12/2013
Resolveu com Not Exists
GOSTEI 0
Lucas Burg
20/12/2013
Pelo que entendi poderia ser com os dois, Obrigado pela dica Jefferson Coutinho dos Santos!
GOSTEI 0