INNER JOIN NO VB.NET
Olá pessoal,
Eu escrevi a string sql abaixo para realizar a pesquisa em 4 tabelas relacionadas com o mesmo campo mas ainda não funcionou. Alguém pode me mostrar onde estão oes erros?
Segue a string:
sql As String = [Ô]Select * From Indice[Ô] _
& [Ô]INNER JOIN (((dekafix1 INNER JOIN dekafix2 ON dekafix1.CodDekafix = dekafix2.CodDekafix) [Ô] _
& [Ô]INNER JOIN dekafix3 ON dekafix2.CodDekafix = dekafix3.CodDekafix) [Ô] _
& [Ô]INNER JOIN dekafix1_2L ON dekafix3.CodDekafix = dekafix1_2L.CodDekafix) [Ô] _
& [Ô]ON Indice.CodDekafix = dekafix1.CodDekafix ORDER BY Indice.CodDekafix[Ô]
Obrigado,
Edson
Eu escrevi a string sql abaixo para realizar a pesquisa em 4 tabelas relacionadas com o mesmo campo mas ainda não funcionou. Alguém pode me mostrar onde estão oes erros?
Segue a string:
sql As String = [Ô]Select * From Indice[Ô] _
& [Ô]INNER JOIN (((dekafix1 INNER JOIN dekafix2 ON dekafix1.CodDekafix = dekafix2.CodDekafix) [Ô] _
& [Ô]INNER JOIN dekafix3 ON dekafix2.CodDekafix = dekafix3.CodDekafix) [Ô] _
& [Ô]INNER JOIN dekafix1_2L ON dekafix3.CodDekafix = dekafix1_2L.CodDekafix) [Ô] _
& [Ô]ON Indice.CodDekafix = dekafix1.CodDekafix ORDER BY Indice.CodDekafix[Ô]
Obrigado,
Edson
Faça o SQL, from tabela A,B,C,D depois faça o join e where
Vc está fazendo isso par aqual banco ? Access ? SQL Server ?
Eu estou utilizando banco Access.
Se eu retirar todos os [Ô]Inner Join* e apenas utilizar
sql = [Ô]SELECT * From Indice[Ô]
eu consigo ler os dados da tabela Indice mas preciso ler tambem os dados das outras tabelas relacionadas.
Edson
Se eu retirar todos os [Ô]Inner Join* e apenas utilizar
sql = [Ô]SELECT * From Indice[Ô]
eu consigo ler os dados da tabela Indice mas preciso ler tambem os dados das outras tabelas relacionadas.
Edson
SELECT * FROM Indice
INNER JOIN dekafix1 ON dekafix1.CodDekafix = Indice.CodDekafix
INNER JOIN dekafix2 ON dekafix2.CodDekafix = Indice.CodDekafix
INNER JOIN dekafix3 ON dekafix3.CodDekafix = Indice.CodDekafix
INNER JOIN dekafix1 ON dekafix1.CodDekafix = Indice.CodDekafix
INNER JOIN dekafix2 ON dekafix2.CodDekafix = Indice.CodDekafix
INNER JOIN dekafix3 ON dekafix3.CodDekafix = Indice.CodDekafix
Lembrando que não coloque o *, e sim defina quais campos vc precisa.
E se estiver com nomes iguais tem que definir um Alias para eles.
E se estiver com nomes iguais tem que definir um Alias para eles.
Eu coloquei o exatamente o código abaixo:
sql = [Ô] SELECT * FROM Indice[Ô] _
& [Ô] INNER JOIN dekafix1 ON dekafix1.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] INNER JOIN dekafix2 ON dekafix2.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] INNER JOIN dekafix3 ON dekafix3.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] ORDER BY Indice.CodDekafix[Ô]
e o VB me retornou:
[Ô]Erro de sintaxe (operador faltando) na expressão de consulta[Ô]
O que devo acrescentar?
Obrigado
Edson
sql = [Ô] SELECT * FROM Indice[Ô] _
& [Ô] INNER JOIN dekafix1 ON dekafix1.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] INNER JOIN dekafix2 ON dekafix2.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] INNER JOIN dekafix3 ON dekafix3.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] ORDER BY Indice.CodDekafix[Ô]
e o VB me retornou:
[Ô]Erro de sintaxe (operador faltando) na expressão de consulta[Ô]
O que devo acrescentar?
Obrigado
Edson
Tenho um exemplo aqui do meu CRUD com três tabelas relacionadas..veja ai talvez ajude..
Private strInstrucaoSelect As String = [Ô]SELECT L.IdLogin, L.Login, L.Senha, U.Nome, P.Perfil FROM AC_Login AS L [Ô] + _
[Ô]INNER JOIN AC_Usuario AS U ON U.IdLogin = L.IdLogin INNER JOIN AC_Perfil AS P ON P.IdPerfil = U.IdPerfil [Ô] + _
[Ô]WHERE L.Login = @Login AND L.Senha = @Senha AND U.EhAtivo = 1[Ô]
Private strInstrucaoSelect As String = [Ô]SELECT L.IdLogin, L.Login, L.Senha, U.Nome, P.Perfil FROM AC_Login AS L [Ô] + _
[Ô]INNER JOIN AC_Usuario AS U ON U.IdLogin = L.IdLogin INNER JOIN AC_Perfil AS P ON P.IdPerfil = U.IdPerfil [Ô] + _
[Ô]WHERE L.Login = @Login AND L.Senha = @Senha AND U.EhAtivo = 1[Ô]
São os nomes iguais.
Coloque o nome dos campos.
Coloque o nome dos campos.
Citação::
Eu coloquei o exatamente o código abaixo:
sql = [Ô] SELECT * FROM Indice[Ô] _
& [Ô] INNER JOIN dekafix1 ON dekafix1.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] INNER JOIN dekafix2 ON dekafix2.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] INNER JOIN dekafix3 ON dekafix3.CodDekafix = Indice.CodDekafix[Ô] _
& [Ô] ORDER BY Indice.CodDekafix[Ô]
e o VB me retornou:
[Ô]Erro de sintaxe (operador faltando) na expressão de consulta[Ô]
O que devo acrescentar?
Obrigado
Edson
essa query so vai retornar dados da tabela indice....
geralmente coloco ON ( )
nao sei se ajuda....
Os nomes dos campos das outras tabelas são diferentes. Apenas tem o campo CodDekafix em comum.
Eu acrescentei os parenteses após os [Ô]On[Ô] mas também não funcionou.
Obrigado,
Edson
Eu acrescentei os parenteses após os [Ô]On[Ô] mas também não funcionou.
Obrigado,
Edson
Faça seu login para responder