none
LEFT OUTER JOIN - Funciona no SQl mas na consulta do VB não! RRS feed

  • Pergunta

  • Olá!

    Estou com um problema com o LEFT OUTER JOIN, a consulta no SQL funciona perfeitamente, mas quando envio pelo VB, não!
    Ela me retorna como se fosse um INNER JOIN:

    SELECT     dbo.tblHistorico.*, dbo.tblUsuario.NomeUsuario  FROM         dbo.tblHistorico LEFT OUTER JOIN                                   dbo.tblUsuario ON dbo.tblHistorico.IdUsuario = dbo.tblUsuario.IdUsuario

    WHERE     (dbo.tblHistorico.IdUsuario = '660')



    quinta-feira, 9 de maio de 2013 14:41

Respostas

  • O que vc quer dizer com "funciona como um inner join"

    Se vc fizer

    SELECT tblHistorico.*, tblUsuario.NomeUsuario  
    FROM tblHistorico 
    LEFT OUTER JOIN blUsuario 
        ON tblHistorico.IdUsuario = tblUsuario.IdUsuario
    WHERE tblHistorico.IdUsuario = '660'

    O que traz como resultato (tanto para VB como no SQL) ?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quinta-feira, 9 de maio de 2013 19:19
    Moderador
  • Deu certo, 
    o problema era que quando o usuario não digitava nada eu usava um LIKE '%' e o like não encontra resultados NULL

    Muito obrigado William!
    sexta-feira, 10 de maio de 2013 12:32

Todas as Respostas

  • Voce tem certeza que essa query fuinciona no SQL?

    Tem um "dbo..tblUsuario"  que parece estranho... isso nao deveria funcionar.

    Experiemente remover todos os dbo.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quinta-feira, 9 de maio de 2013 15:57
    Moderador
  • Sim funciona perfeitamente!
    O .. já retirei e o dbo. já tinha retirado!!
    O sql é o Express 2008 R2
    quinta-feira, 9 de maio de 2013 16:46
  • O que vc quer dizer com "funciona como um inner join"

    Se vc fizer

    SELECT tblHistorico.*, tblUsuario.NomeUsuario  
    FROM tblHistorico 
    LEFT OUTER JOIN blUsuario 
        ON tblHistorico.IdUsuario = tblUsuario.IdUsuario
    WHERE tblHistorico.IdUsuario = '660'

    O que traz como resultato (tanto para VB como no SQL) ?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quinta-feira, 9 de maio de 2013 19:19
    Moderador
  • Deu certo, 
    o problema era que quando o usuario não digitava nada eu usava um LIKE '%' e o like não encontra resultados NULL

    Muito obrigado William!
    sexta-feira, 10 de maio de 2013 12:32