USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Inner Join
Fonseca
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 04/05/2004 15:07 hs            
Já li o help do VB e não consegui enterder o INNER JOIN, gostaria, se possível, que alguém me desse uma breve explicação e como montar o comando de acordo com as tabelas abaixo, selecionando-se todos os campos exceto o campo Função da Tab3.
A Tab3 é lida de acordo com o campo Gru da Tab2, que é lida de acordo com o campo Con da Tab1.
 
Tab1: Cod, Con, Nome
Tab2: Cod, Gru, Nome
Tab3: Cod, Nome
 
Obrigado pela atenção
   
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 04/05/2004 16:49 hs            
Seria
 
Select * from tab1 , tab2, tab3," & _
       " tab1 left join tab2 ON tab1.cod = tab2.cod, " & _
       " tab2 left join tab3 ON tab2.cod = tab3.cod " & _
       " Where tab1.cod = 10"
Acho que não da para fazer lendo do gru e con pois esses campos não tem relacionamento nos outros arquivos, teria que ser algo
Tab1: Cod, Con, Nome
Tab2: Cod, CON,  Gru, Nome
Tab3: Cod, GRU, Nome
Para que um pudesse ler a outra tabela. Talbez eu tenha entendido errado.
 
Fiz lendo do COD pois este campo possui um relacionamento entre as tabelas. Veja se da para entender. Ele ira pegar todos os cod 5 de todas as tabelas.

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
   
RARS
AMERICO BRASILIENSE
SP - BRASIL
ENUNCIADA !
Postada em 04/05/2004 17:24 hs            
vou tentar t explicar com um sql
 
Select C.*,CI.* from CLiente C Inner Join Cidade  CI On Ci.Codigo=C.Codigo_Cidade
onde C e Ci é a abreviacao das tabelas Cliente e Cidade  que iram ser comparadas pelos Campos Ci.codigo e C.Codigo_cidade
 
Qualquer duvida poste novamente ou envie um e-mail
   
Vaughyman
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 04/05/2004 20:15 hs            
Caro Fonseca,
Se não está acostumado com Inner Join em tabelas, segue aqui um pequeno macete que me fez entender e aperfeiçoar essa técnica, não desprestigiando meus amigos de forum...
Sei o quanto é complicado produzir boas consultas e o proprio Access nos dá a maior ferramenta para se aprender a entender e cria-las sem misterio.
Sempre que quiser testar, criar, Juntar, Atualizar e etc qualquer SQL, sugiro que vc construa no ambiente de consulta do Access. Primeiro em forma visual. depois ateste para ver se os recordsets estão corretos. Se estiverem, transforme-a em SQL (o Access faz com a maior tranquilidade) e cole-a em seu codigo VB. Pare alguns minutos e analise aquilo que foi produzido. Vc irá gastar menos tempo e estudara mais.
Em caso de duvida, tai meu email, ICQ, certidao de Obito e tudo mais para te ajudar nessa caminhada.
 
Abração
   
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 04/05/2004 20:42 hs            
Existe outra forma de fazer o join. Seria com o WHERE.
Select * from tab1 , tab2, tab3," & _
       " tab1 left join tab2 ON tab1.cod = tab2.cod, " & _
       " tab2 left join tab3 ON tab2.cod = tab3.cod " & _
       " Where tab1.cod < 10"

com where seria
Select * from tab1 , tab2, tab3," & _
       "where tab1.cod < 10 and tab1.cod = tab2.cod and  " & _
       " tab2.cod = tab3.cod "
Desta forma ele ira devolver a mesma coisa. O problema e que se não existir o registro no TAB3 ele não ira devolver o registro. Tipo
 
tab1       tab2       tab3
1             1            1
2             2                     Este não sera retornado pois não existe o reg no TAB3
3             3            3

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
   
Fonseca
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 05/05/2004 13:10 hs            
Obrigado pela explanação, vou testa-las.
 
[]´s
Emoções
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página