Fórum Select com Mais de uma tabela #409079

04/11/2011

0

Tenho três tabelas:
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

Valdir Dill

Responder

Posts

04/11/2011

Wilson Junior

Teste assim
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.
Responder

Gostei + 0

04/11/2011

Valdir Dill

Teste assim
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.
Responder

Gostei + 0

04/11/2011

Emerson Nascimento

SELECT
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)
Responder

Gostei + 0

04/11/2011

Valdir Dill

SELECT
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.

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar