Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, fazer um inner join com 2 tabelas eu sei. Mas fazer com 3 tabelas eu não consigo. Segue abaixo o erro. Se alguêm poder me ajudar eu agradeço.
Abraços.....
ASP
[*]strSQL = "select nota.cod_filho AS notafilho, pai.nome_pai AS nomepai,
[*]filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho
[*]from pai INNER JOIN filho
[*]ON pai.cod_pai = filho.cod_pai
[*]INNER JOIN Nota
[*]ON filho.cod_filho = nota.cod_filho"
>
Douglas, tente incluíndo parênteses no seu SQL...se não funcionar verifique o nome dos campos e tabelas para ver se está tudo certo.
ASP
[*]strSQL = "select nota.cod_filho AS notafilho, pai.nome_pai AS nomepai," & _"filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho " & _"from ((pai INNER JOIN filho " & _"ON pai.cod_pai = filho.cod_pai) " & _"INNER JOIN nota " & _"ON filho.cod_filho = nota.cod_filho)"
[](/topic/140356-inner-joins-com-3-ou-mais-tabelas/?do=findComment&comment=398803)
Maninho, fiz esse exemplo que você me passou e nada e fiz esse abaixo
ASP
[*]strSQL = "select nota.cod_filho AS notafilho, pai.nome_pai AS nomepai, filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho from pai INNER JOIN (filho INNER JOIN nota ON filho.cod_filho = nota.cod_filho) ON pai.cod_pai = filho.cod_pai "
Ambos deram o mesmo erro.
Microsoft VBScript runtime error '800a01a8'
Object required: ''
/douglas/estudos/inner/pagina162_5329.asp, line 38
Abraços.....
Douglas, isso é por causa do & _ que é um recurso para mostrar que o código continua na próxima linha...Da sua forma (código em uma só linha), ficaria assim:strSQL = "select nota.cod_filho AS notafilho, pai.nome_pai AS nomepai,filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho from ((pai INNER JOIN filho ON pai.cod_pai = filho.cod_pai) INNER JOIN nota ON filho.cod_filho = nota.cod_filho)"Tenta aí..
>
Douglas, isso é por causa do & _ que é um recurso para mostrar que o código continua na próxima linha...
Da sua forma (código em uma só linha), ficaria assim:
strSQL = "select nota.cod_filho AS notafilho, pai.nome_pai AS nomepai,filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho from ((pai INNER JOIN filho ON pai.cod_pai = filho.cod_pai) INNER JOIN nota ON filho.cod_filho = nota.cod_filho)"
Tenta aí..
[](/topic/140356-inner-joins-com-3-ou-mais-tabelas/?do=findComment&comment=398864)
Maninho, foi exatamente isso que eu fiz e deu esse erro. Mesmo assim eu acabei de conferir os nomes das tabelas, mas nada.
Microsoft VBScript runtime error '800a01a8'
Object required: ''
/douglas/estudos/inner/pagina162_5329.asp, line 37
Qual o código da linha 37?Olha se você instanciou os objetos connection e recordset...
>
Qual o código da linha 37?
Olha se você instanciou os objetos connection e recordset...
[](/topic/140356-inner-joins-com-3-ou-mais-tabelas/?do=findComment&comment=398902)
Juliano o código está correto. Só a instrução so SQL que não
linha 36 e 37
Call abre_conexao
Set rsClientes = Conexao.Execute(strSQL)
Abraços..
>
>
Qual o código da linha 37?
Olha se você instanciou os objetos connection e recordset...
[](/topic/140356-inner-joins-com-3-ou-mais-tabelas/?do=findComment&comment=398902)
Juliano o código está correto. Só a instrução so SQL que não
linha 36 e 37
Call abre_conexao
Set rsClientes = Conexao.Execute(strSQL)
Abraços..
[](/topic/140356-inner-joins-com-3-ou-mais-tabelas/?do=findComment&comment=398915)
Arrumado Juliano. Erra erro no servidor. Tive que ligar lá pra eles darem o acesso para essa pasta. Pq tem um update tbm.
Essa meus erros de SQL é porque estou preparando um tutorial de SQL com todos os exemplos...
Valeu...
Juliano vejo só, 3 exemplo com o mesmo resultado'---------------------> INNER JOIN E INNER JOIN <---------------------------strSQL = "select nota.nota_filho AS notafilho, pai.nome_pai AS nomepai, filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho from pai INNER JOIN (filho INNER JOIN nota ON filho.cod_filho = nota.cod_filho) ON pai.cod_pai = filho.cod_pai " strSQL = "select nota.nota_filho AS notafilho, pai.nome_pai AS nomepai,filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho from ((pai INNER JOIN filho ON pai.cod_pai = filho.cod_pai) INNER JOIN nota ON filho.cod_filho = nota.cod_filho)"strSQL = "select nota.nota_filho AS notafilho, pai.nome_pai AS nomepai,filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho from (pai INNER JOIN filho ON pai.cod_pai = filho.cod_pai) INNER JOIN nota ON filho.cod_filho = nota.cod_filho"
tinha um topico ativo com o mesmo questionamento
http://www.imasters.com.br/forum/index.php?showtopic=140303
espero que ambos consigam entender o uso de INNER JOIN com mais de duas tabelas...
Douglas, tente incluíndo parênteses no seu SQL...se não funcionar verifique o nome dos campos e tabelas para ver se está tudo certo.
ASP
[*]strSQL = "select nota.cod_filho AS notafilho, pai.nome_pai AS nomepai," & _
[*]"filho.nome_filho AS nomefilho, filho.sexo_filho AS sexofilho " & _
[*]"from ((pai INNER JOIN filho " & _
[*]"ON pai.cod_pai = filho.cod_pai) " & _
[*]"INNER JOIN nota " & _
[*]"ON filho.cod_filho = nota.cod_filho)"