Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DackAle

Inner Join

Recommended Posts

E ae galera =)

 

Seguinte to usando como BD o SQL Server, tenho duas tabelas, pelo SQL Server fiz um Inner Join

 

SELECT Setores.Nome, Funcionarios.Nome FROM Setores INNER JOIN Funcionarios ON Setores.Cod_setor = Funcionarios.Setor

 

 

Retorna beleza, agora fui tentar fazer no ASP, não gera erro, mas ele ao inves de mostrar o nome do setor ele mostra o ID

 

ASP

[*]Set conexao server.CreateObject("ADODB.connection")

 

[*]conexao.ConnectionString "DSN=TESTE;Trusted_Connection=yes"

 

[*]conexao.Open

 

[*]

 

[*]SQL="SELECT * FROM Funcionarios INNER JOIN Setores ON Funcionarios.Setor = Setores.Cod_Setor ORDER BY Funcionarios.Nome ASC"

 

[*]SET RS Server.CreateObject("ADODB.RecordSET")

 

[*]RS.Open SQL,Conexao,3,3

 

O que eu poderia estar fazendo de errado no código acima ?

 

Abraços e valeu =)

 

OBS: Alguem sabe se da para usar o CASE do SQL no SQL do ASP ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seleciona apenas os campos que você quer...bem como você esta pegando os dados do select??? verifica se realmente você estava pegando o campo que você queria...

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL="SELECT * FROM Funcionarios INNER JOIN Setores ON Funcionarios.Setor = Setores.Cod_SeTente incluir o campo desejado apos o select, mais ou menos assim:Select nome.funcionario,salario.funcionario,DEPTO.SETOR from funcionariosInner join Setores on Funcionarios.setor = setores.cod_seVeja que você esqueceu de incluir o campo = DeptoAcho que é esta a sua pequena mancada.AGORA SE O SEU BD É MUITO GRANDE é conveniente você usar o Left outer join.Abraços e espero ter ajudado.Henrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]SQL "SELECT Funcionarios.Cod_Func, Funcionarios.Nome, Funcionarios.Sobrenome, "

 

[*]SQL = SQL & "Funcionarios.Sexo, Funcionarios.Nascimento, Funcionarios.RG, Funcionarios.Salario, "

 

[*]SQL = SQL & "Funcionarios.Setor, Funcionarios.Cadastro, Setores.Nome, Setores.Cod_Setor "

 

[*]SQL = SQL & "FROM Funcionarios INNER JOIN Setores ON Funcionarios.Setor = Setores.Cod_Setor "

 

[*]SQL = SQL & "ORDER BY Funcionarios.Nome ASC"

 

Fiz assim agora, coloquei todos os campos, que bizarro, no SQL Server se eu fizer um INNER JOIN funciona perfeitamente... para mostrar é normal né ?

 

rs("setor") ?

 

Bom, valeu por enquanto galera =)

 

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

num era melhor ter feitostrSQL = " SELECT TB1.CAMPO1 "strSQL = strSQL & " FROM TABELA 1 TB1,strSQL = strSQL & " TABELA 2 TB2.strSQL = strSQL & " WHERE TB1.CAMPO 1 = TB2.CAMPO2 "abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz demorei mas voltei...rs

 

continuo apanhando, agora um pouco pior =P

 

Seguinte tenho essa linha

 

SQL="SELECT produto FROM Congelados WHERE categoria ='" & Congelados(0,I) & "'"

 

Bom é retornado o NUMERO do produto, agora eu teria que ir na tabela produtos e com o numero gerado pegar o NOME do produto...

 

Com INNER JOIN eu consigo fazer isso em um select só certo ?

 

tentei assim

 

ASP

[*]SQL="SELECT Con.Produto, Pro.Nome FROM Congelados INNER JOIN Produtos ON Con.Produto = Pro.COD WHERE Con.Categoria ='" & Congelados(0,I) & "' ORDER BY Pro.Nome ASC"

 

Mas ele me gerou este erro

 

[Microsoft][ODBC SQL Server Driver]

The column prefix 'Con' does not match with a table name or alias name used in the query.Que caquinha devo estar fazendo ? rsss

 

Arghhhhhhhhh Inner Join com ASP é chato ahauhahua

 

Valeuu galera =)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Con e Pro troque pelos nomes corretos das tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

errrr =PP

 

ASP

[*]SQL="SELECT Congelados.Produto, Produtos.Nome FROM Congelados INNER JOIN Produtos ON Congelados.Produto = Produtos.COD WHERE Congelados.Categoria ='" & Congelados(0,I) & "' ORDER BY Produtos.Nome ASC"

 

Agora funfou...

 

Sóooo que eu uso metodo getrows...

 

ta assim

 

<%=Congelados(0,I)%>

 

ele me retorna o NUMERO do produto (Congelados.Produto), e s coloco

<%=Congelados(1,I)%> da erro que não existe essa coluna...

 

como recorsewt mesmo, comfo faço para chamar o "Produtos.Nome" ? Que é o que eu quero mostrar ?

 

Valeu tiu salgadinho =)

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora não existem "tabelas" só os campos Nome e Produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aee deu certissimo, valeu tiu salgado, peguei as manhas com inner, pena que ele não funciona com getrows()valeu mesmoooooooooooabraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.