Ir para conteúdo

POWERED BY:

Arquivado

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

apenasestudando

Recuperar dados de mais de uam tabela

Recommended Posts

Galera to com o seguinte problema:

 

To recuperando tenho uma tabela noticias e outra categorias; na tabela notícias eu tenho a célula (ldcategoria) e na tabela categorias o nome dessas categorias.

 

Minha dúvida e como fazer pra recuperar as notícias e junto com elas o nome da cada categoria que a notícia pertence, uma vez que na tabela notícia eu tenho somente o id do nome da categoria.

 

Alguém tem uma dica?

 

olhem o código, ele só recupera um nome de categoria...

 

ASP

[*]

 

[*]

 

[*]ASP]Set objDestaques Server.CreateObject("ADODB.Recordset")

 

[*]SQL "Select Top 8 * From noticias Where foto <> Null and paginainicial=-1 

 

[*]

 

[*]SQL = SQL & "order by idnoticia Desc"

 

[*]objDestaques.CursorLocation = 3

 

[*]objDestaques.open SQL, objConexao

 

[*]

 

[*]

 

[*]strSQL = "SELECT * FROM categorias Where idcategoria "&objDestaques("idcategoria")&""

 

[*] Set objCategoria Server.CreateObject("ADODB.Recordset")

 

[*] objCategoria.CursorLocation = 3

 

[*] objCategoria.Open strSQL, objConexao

 

[*]

 

[*]%><br>

 

[*]

 

[*]<%=(objCategoria("categorianome"))%><br>

 

[*]<% cartas = objCategoria("categorianome") %>

 

[*]

 

[*]<br>

 

[*]<% Do While Not objDestaques.Eof %>

 

[*]<%Response.write objDestaques("idcategoria")%>

 

[*]<%Response.write objDestaques("titulo")%><br><br>

 

[*]<% objDestaques.MoveNext

 

[*]LOOP

 

[*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um INNER JOIN na consultaSELECT TB_NOTICIA.NOTICIA, TB_CATEGORIA.CATEGORIA FROM TB_NOTICIA INNER JOIN TB_CATEGORIA ON TB_NOTICIA.CATEGORIA = TB_CATEGORIA.IDCATEGORIAbem ta ai só poe os nomes verdadeiros dos campos

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um INNER JOIN na consulta

 

SELECT TB_NOTICIA.NOTICIA, TB_CATEGORIA.CATEGORIA FROM TB_NOTICIA INNER JOIN TB_CATEGORIA ON TB_NOTICIA.CATEGORIA = TB_CATEGORIA.IDCATEGORIA

 

bem ta ai só poe os nomes verdadeiros dos campos

<{POST_SNAPBACK}>

Olha oque fiz, mas tá dando erro de sintaxe, oque pode ser?

 

ASP

[*]<%

 

[*]

 

[*]Set objDestaques Server.CreateObject("ADODB.Recordset")

 

[*]SQL "Select Noticia.idcategoria, Categorias.idcategoria From Noticias Inner Join Categorias On Noticia.idcategoria = Categorias.categorianome"

 

[*]IF cfgEdicao <> "" THEN

 

[*]SQL = SQL & " and edicao = '"&cfgEdicao&"'"

 

[*]END IF

 

[*]SQL = SQL & "order by idnoticia Desc"

 

[*]objDestaques.CursorLocation = 3

 

[*]objDestaques.open SQL, objConexao

 

[*]

 

[*]%><br>

 

[*]

 

[*]<br>

 

[*]

 

[*]

 

[*]<br>

 

[*]<% Do While Not objDestaques.Eof %>

 

[*]<%Response.write objDestaques("idcategoria")%>

 

[*]<%Response.write objDestaques("titulo")%><br><br>

 

[*]<% objDestaques.MoveNext

 

[*]LOOP

 

[*]%>

 

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

estes são realmente os campos que se relacionamNoticia.idcategoria = Categorias.categorianomeo que tem em Noticia.idcategoria vem de Categorias.categorianome ou seria de Categorias.idcategoria ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

estes são realmente os campos que se relacionam

 

Noticia.idcategoria = Categorias.categorianome

 

o que tem em Noticia.idcategoria vem de Categorias.categorianome ou seria de Categorias.idcategoria ???

<{POST_SNAPBACK}>

Opa os campos que se relacionam sao:

 

Notícias = idcategoria

Categorias = idcategoria

 

No caso dentro de categorias tem o categorianome que seria oque eu quero mostrar, tipo ao listar a notícia o sistema listar ao invés do idcategoria o categorianome que está em categorias.

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

então eh o contrario do que voce fez la em cima

 

ASP

    [*]SQL "Select Noticia.idcategoria, Categorias.categorianome From Noticias Inner Join Categorias On Noticia.idcategoria = Categorias.idcategoria"

Compartilhar este post


Link para o post
Compartilhar em outros sites

então eh o contrario do que voce fez la em cima

 

ASP

[*]SQL "Select Noticia.idcategoria, Categorias.categorianome From Noticias Inner Join Categorias On Noticia.idcategoria = Categorias.idcategoria"

<{POST_SNAPBACK}>

Fiz oque você me passou olha:

 

ASP

[*]<%

 

[*]

 

[*]Set objDestaques Server.CreateObject("ADODB.Recordset")

 

[*]SQL "Select Noticias.idcategoria, Categorias.categorianome From Noticias Inner Join Categorias On Noticias.idcategoria = Categorias.idcategoria"

 

[*]IF cfgEdicao <> "" THEN

 

[*]SQL = SQL & " and edicao = '"&cfgEdicao&"'"

 

[*]END IF

 

[*]SQL = SQL & "order by idnoticia Desc"

 

[*]objDestaques.CursorLocation = 3

 

[*]objDestaques.open SQL, objConexao (linha x)

 

[*]

 

[*]%>

 

Só que tá dando o erro abaixo:

 

Tipo de erro:

Microsoft JET Database Engine (0x80040E14)

Sem suporte para a expressão de associação.

index.asp, line x

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você criou a conexão

 

Server.CreateObject("ADODB.Connection") ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você criou a conexão

 

Server.CreateObject("ADODB.Connection") ?

<{POST_SNAPBACK}>

Sim:

 

ASP

[*]strConexao "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\dados\dados.mdb"

 

[*]Set objConexao Server.CreateObject("ADODB.Connection")

 

[*]objConexao.Open strConexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem se o erro ocorrer quando for mostrar o valor da variavel pelo recordSET

então deve se usar um alias na SQL.

 

ex:

 

SELECT * FROM estado.uf UF, from br_estados estado, us_estado state Where...

 

 

depois no recordset

 

recordSet("UF");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta sem o inner join então...select a.idcategoria, b.categorianome from Noticias a, Categorias b where a.idcategoria=b.idcategoria

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem se o erro ocorrer quando for mostrar o valor da variavel pelo recordSET

então deve se usar um alias na SQL.

 

ex:

 

SELECT * FROM estado.uf UF, from br_estados estado, us_estado state Where...

 

 

depois no recordset

 

recordSet("UF");

<{POST_SNAPBACK}>

Amigo nao entendi.....no caso se escrevi em maiúsculo o nome do campo no db no select tmb tem que ser|? já no recordset nao estendi oque quis dizer...

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... dificilmente o problema deve estar na linha de seleção então, se nenhuma das 2 funcionou...

 

só pra desencargo de consciencia, substitui essa linha aqui

 

objConexao.Open strConexao

 

por isso aqui

 

objConexao.Open strConexao,3,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... dificilmente o problema deve estar na linha de seleção então, se nenhuma das 2 funcionou...

 

só pra desencargo de consciencia, substitui essa linha aqui

 

objConexao.Open strConexao

 

por isso aqui

 

objConexao.Open strConexao,3,3

<{POST_SNAPBACK}>

Tipo ainda nao deu.. http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

Pelo que vi aqui tudo esta ok.....acho que deve ser no inner join...

 

alguém sabe oque pode ser?

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui aqui...obrigado a todos que deram as dicas..

 

apartir do comentário de cada um consegui um resultado...final...

 

 

Grato a todos http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui aqui...obrigado a todos que deram as dicas..

 

apartir do comentário de cada um consegui um resultado...final...

 

 

Grato a todos http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

<{POST_SNAPBACK}>

qual era o problema!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui aqui...obrigado a todos que deram as dicas..

 

apartir do comentário de cada um consegui um resultado...final...

 

 

Grato a todos http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

parabens amigo http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui aqui...obrigado a todos que deram as dicas..

 

apartir do comentário de cada um consegui um resultado...final...

 

 

Grato a todos http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

<{POST_SNAPBACK}>

qual era o problema!

<{POST_SNAPBACK}>

Acho que algum erro de digitação, eu fui mudando, e deu certo..

 

ASP

[*]SQL "Select Noticias.idcategoria, Noticias.titulo, Categorias.categorianome From Noticias, Categorias Where Noticias.idcategoria = Categorias.idcategoria and foto <> Null and paginainicial=-1 and idNoticia <> "&strDestaque&""

 

Grato a todos.......

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui aqui...obrigado a todos que deram as dicas..

 

apartir do comentário de cada um consegui um resultado...final...

 

 

Grato a todos http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif   http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

<{POST_SNAPBACK}>

parabens amigo http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

<{POST_SNAPBACK}>

Parabéns pra você...que deu o alicerce pra eu resolver isso com a ajuda de todos... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.