locked
informações do banco some quando faço inner join RRS feed

  • Pergunta

  • Ola pessoal,

    Eu tenho um banco de dados com informações no access XP mas quando faço um inner join na consulta as tabelas se ligam mas some as informações

     

    veja o codigo

     

    Code Snippet

    SELECT *
    FROM informes
    inner join informes_frente on informes_frente.codigo=informes.codigo

     

    Porque some os dados quando eu faço inner join com as tabelas e quando só faço um select * from mostra tudo normalmente? Ja é a segunda tabela de outro sistema que faz isso.

     

    Obrigado!

     

    Marcelo

    quinta-feira, 31 de maio de 2007 18:00

Respostas

  •  

    Marcelo...

     

    o inner join requer que os campos da tabelaA.campo coincida com a tabelaB.campo...

    ela retorna somente os dados com valores iguais.

     

    tem ctz que os valores coincidem?

    quinta-feira, 31 de maio de 2007 23:00
  • Boa tarde Marcelo,

     

       Como já foi dito, uma consulta do tipo "INNER JOIN" retorna todas as linhas onde as chaves são correspondentes.

       Eu aconselho vc a referenciar todas os campos que deseja retornar, do tipo Tabela.Campo, assim, além de otimizar a sua busca vc ganhará em performance.

       Experimente construir um Select do tipo:

     

       SELECT A.campo1, A.campo2, B.campo1, B.campo2, B.campo3

          FROM informes AS A inner join informes_frente AS B 

          on A.codigo = B.codigo

       Espero ter ajudado.

     

       Um abraço,

     

       Pietro Faria. 

    segunda-feira, 4 de junho de 2007 18:09

Todas as Respostas

  •  

    Marcelo...

     

    o inner join requer que os campos da tabelaA.campo coincida com a tabelaB.campo...

    ela retorna somente os dados com valores iguais.

     

    tem ctz que os valores coincidem?

    quinta-feira, 31 de maio de 2007 23:00
  • Poxa, me passei, os valores não são iguais! Ja resolvir então!

    Obrigado!

    domingo, 3 de junho de 2007 23:57
  • Boa tarde Marcelo,

     

       Como já foi dito, uma consulta do tipo "INNER JOIN" retorna todas as linhas onde as chaves são correspondentes.

       Eu aconselho vc a referenciar todas os campos que deseja retornar, do tipo Tabela.Campo, assim, além de otimizar a sua busca vc ganhará em performance.

       Experimente construir um Select do tipo:

     

       SELECT A.campo1, A.campo2, B.campo1, B.campo2, B.campo3

          FROM informes AS A inner join informes_frente AS B 

          on A.codigo = B.codigo

       Espero ter ajudado.

     

       Um abraço,

     

       Pietro Faria. 

    segunda-feira, 4 de junho de 2007 18:09
  • Ha ok! obrigado!
    terça-feira, 5 de junho de 2007 12:02