Fórum Select com Mais de uma tabela #409079
04/11/2011
0
TABELA_1 - campo CODIGO integer
TABELA_2 - campo CODIGO integer
TABELA_3 - campo CODIGO integer
Preciso fazer um select das tabelas confrontando o campo CODIGO nas três tabelas. O select tem que trazer os registros que tenham correspondência da TABELA_1 com a TABELA_2 E os registros que tenham correspondência da TABELA_1 com a TABELA_3.
Tentei montar o select com JOIN, mas não tive êxito.
Alguma dica?
FB 2.1 e D2010
Obrigado.
Valdir
Valdir Dill
Curtir tópico
+ 0Posts
04/11/2011
Wilson Junior
SELECT
t1.NomeDoCampo,
t2.NomeDoCampo,
t3.NomeDoCampo
FROM
TABELA_1 t1
LEFT OUTER JOIN TABELA_2 t2 ON (t1.Codigo = t2.Codigo)
LEFT OUTER JOIN TABELA_3 t3 ON (t1.Codigo = t3.Codigo)
Espero ter colaborado.
Gostei + 0
04/11/2011
Valdir Dill
SELECT
t1.NomeDoCampo,
t2.NomeDoCampo,
t3.NomeDoCampo
FROM
TABELA_1 t1
LEFT OUTER JOIN TABELA_2 t2 ON (t1.Codigo = t2.Codigo)
LEFT OUTER JOIN TABELA_3 t3 ON (t1.Codigo = t3.Codigo)
Espero ter colaborado.
Olá Wilson,
Obrigado pela ajuda, mas não se não fui claro, mas não bem isso que eu precisava. É mais ou menos por aí, mas nesse código acabam sendo listados TODOS os registros de t1, mesmo que não tenham correspondência em t2 ou t3. O que eu queria era listar apenas os registros que estejam em t1 E t2 OU t1 E t3. Se houver ocorrência estiver só em t1, não deve ser listado.
Obrigado.
Gostei + 0
04/11/2011
Emerson Nascimento
t1.NomeDoCampo,
t2.NomeDoCampo,
t3.NomeDoCampo
FROM
TABELA_1 t1
LEFT JOIN
TABELA_2 t2 ON (t2.Codigo = t1.Codigo)
LEFT JOIN
TABELA_3 t3 ON (t3.Codigo = t1.Codigo)
WHERE
NOT (t2.Codigo is null and t3.Codigo is null)
Gostei + 0
04/11/2011
Valdir Dill
t1.NomeDoCampo,
t2.NomeDoCampo,
t3.NomeDoCampo
FROM
TABELA_1 t1
LEFT JOIN
TABELA_2 t2 ON (t2.Codigo = t1.Codigo)
LEFT JOIN
TABELA_3 t3 ON (t3.Codigo = t1.Codigo)
WHERE
NOT (t2.Codigo is null and t3.Codigo is null)
Perfeito. Muitíssimo obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)