Ir para conteúdo
Fórum Script Brasil
  • 0

Inner Join 2 Tables


[ GuTo ]

Pergunta

:D Consegui fazer um INNER JOIN de 2 Tables. Ele responde tudo sem erro, mas tem um problema: Nas 2 tables tenho campos repetidos: nome, descricao que não são comuns. No Response.Write ou no RecorSet ele so pega de 1 table.

Há alguma maneira deu especificar de qual tabela quero nome, sobre...?

Sei que tem como fazer isso, pois num site dum conhecido meu vi isso e, no BD dele, quase todas as tabelas tem campos de mesmo nome, e ele trabalha também com inner join e entre outros join... só q como é raro ver ele na net, não tive chance de perguntar pra ele... então peço a ajuda de vocês...

Olhem as linhas: 35 e 65

<%
Option Explicit

dim id

if id = "" then id = request.QueryString("id")

dim db, rs, sql

set db = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
db.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dados.mdb")
%><html>
<head>
<title>Chat Canoas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body topmargin="0">

<%
sql = "select * from eventos INNER JOIN membros "    
sql = sql & "ON eventos.id_organizador = membros.id "  
sql = sql & "where eventos.id="&id&" "
rs.open sql,db 
if rs.eof then 
%><h4 align="center" class="cor2">Evento não existente</h4>
<p align="center"><a href="javascript:history.back()"><img src="http://www.chatcanoas.pop.com.br/icons/seta_left.gif" border="0" width="10" height="09"> Voltar</a></b></p>
<%
else
%><table width="598" border="0" cellpadding="0" cellspacing="0">
 <tr bgcolor="#7487A5"> 
   <td width="11" align="right" valign="top"><img src="templates/borda_ce.gif" width="11" height="14"></td>
   <td width="108" class="Rodape"><%=day(rs("data"))%>/<%=month(rs("data"))%> - <%=hour(rs("data"))%>:<%=minute(rs("data"))%></td>
   <td width="485" height="20" class="Cabecalho"><%=rs("nome")%><!-- aki eu keria q mostrasse o nome do evento, e não o nome do membro. --></td>
   <td width="11" align="left" valign="top"><img src="templates/borda_cd.gif" width="11" height="14"></td>
 </tr>
 <tr> 
   <td colspan="5" bgcolor="#C0C0C0"><table width="598" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#F8F9FB" class="ptable">
       <tr bgcolor="#DEE3E7"> 
         <td width="115" rowspan="5" valign="top" align="center">&nbsp; 
           
         </td>
         <td bgcolor="#DEE3E7">Data</td>
         <td width="207" bgcolor="#DEE3E7"><%=rs("data")%></td>
         <td width="43"bgcolor="#DEE3E7" align="center">Hora</td>
         <td width="153" bgcolor="#DEE3E7"><%=hour(rs("data"))%>:<%=minute(rs("data"))%></td>
       </tr>
       <tr> 
         <td bgcolor="#DEE3E7">Local</td>
         <td colspan="3" bgcolor="#DEE3E7"><%=rs("local")%></td>
       </tr>
       <tr> 
         <td bgcolor="#DEE3E7">Organizador</td>
         <td colspan="3" bgcolor="#DEE3E7"> 
           <a href="perfil.asp?id=<%=rs("id_organizador")%>"><%=rs("apelido")%></A>
         </td>
       </tr>
       <tr> 
         <td bgcolor="#DEE3E7">Confirmados</td>
         <td colspan="3" bgcolor="#DEE3E7"><!-- ainda por fazer -->XX Total, XX Garotos, XX GartAs</td>
       </tr>
       <tr> 
         <td width="89" valign="top" bgcolor="#DEE3E7">Descri&ccedil;&atilde;o</td>
         <td colspan="3" bgcolor="#DEE3E7"><%=rs("descricao")%><!-- aki eu keria q mostrasse a descricao do evento, e não a descricao do membro. --><br></td>
       </tr>
     </table></td>
 </tr>
 <tr bgcolor="#7487A5"> 
   <td align="left" valign="bottom"><img src="templates/borda_be.gif" width="11" height="14"></td>
   <td height="20" colspan="2" align="right" class="Rodape"> 
     
   </td>
   <td width="11" align="right" valign="bottom"><img src="templates/borda_bd.gif" width="11" height="14"></td>
 </tr>
</table>
<%end if%>

<%
db.Close
Set rs = Nothing
Set db = Nothing
%>
</body>
</html>
Já tentei fazer
<%=rs("eventos.nome")%>
e
<%=rs("eventos.descricao")%>
e
<%=rs.eventos("nome")%>
e
<%=rs.eventos("descricao")%>

e não funfou :blink:

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

eu axo q duvida dele não foi muito o as e sim especificar a tabela q ele quer q pegue os dados!!!!!!

olha só:

Há alguma maneira deu especificar de qual tabela quero nome, sobre...?

Tem sim cara!!!! olah é só você colocar no seu select o nome da tabela ponto nome do campo!! ex:

supomops q você quer trazer o nome q tenha nos dois e o id q tem nos dois!

sql = "select eventos.ID, membros.ID, eventos.Nome, menbros.Nome from eventos INNER JOIN membrosON eventos.id_organizador = membros.id

olah nauns ei se é isso q você quer mas eu vou fazer um topco sobre inner join como você me pediu!! provavelmente hj anoite! falou!

;)

Link para o comentário
Compartilhar em outros sites

  • 0

resopi valeu, o q você disse me ajudou em termos... :P

Agora o problema não é muito difenrente, mas tentei de formas parecidas e nada.

quero agora fazer o recordset em uma página ASP, por exemplo, de dois campos, cada um de uma tabela, onde ambos tem o mesmo nome.

Suponhamos q o campo se chame nome, as tabelas tem os nomes de: noticias e membros, ok??!

Então agora no recorset, quero mostrar o nome da noticia e o nome do membro autor da noticia, ficando algo assim na página:

<table>

<tr>

<td>Nome do Livro</td>

<td>Nome do Autor</td>

</tr>

<tr>

<td><%=rs("nome")%><!-- aki puxar da tabela noticias o campo nome--> </td>

<td><%=rs("nome")%><!-- aki puxar da tabela membros o campo nome --></td>

</tr>

</tabe>

Resumindo... Como faço pra dar um RS em campos de mesmo nome de duas tabelas?

Obs.: No caso nessa tabela tem outros campos distintos... e para eles poderem ser associados, faço um inner join nas duas tabelas afirmando q os campos noticias.id_autor e no membros.id são iguais(correspondem um ao outro).

Link para o comentário
Compartilhar em outros sites

  • 0

Então.. nas explicações acima te demos a resposta.

<%
Select noticia.nome as nome1, membro.nome as nome2 from membros,noticias .....
%>
E para exibir
<%=rs("nome1")%><!-- aki puxar da tabela noticias o campo nome--> 
<%=rs("nome2")%><!-- aki puxar da tabela membros o campo nome-->

[]'s

Nelson Soares

http://www.ondagospel.com.br

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Shaman_Rj, resopi, pgmador. :D

Sempre podendo contar com vocês! ;)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...