Ir para conteúdo

POWERED BY:

Arquivado

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

hunger

inner join

Recommended Posts

ola.... quero puxar em uma pagina registros de duas tabelas do mesmo bd. utilizando inner join, como ficaria a linha no caso de eu puxar os seguintes campos:tabela 1 (funcionarios)tabela 2 (func_mes)da tabela 1 eu preciso puxar os campos 1, 2, 3, 4, 5da tabela 2 eu preciso do campo 3SELECT * FROM func_mes INNER JOIN funcionarios ON ... ( o restante q eu nao sei montar)Agradeço desde já!Abço,Marcos Hunger.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só tem um detalhe: no caso, preciso q ele só puxe qdo o ID esteja com o campo STATUS "ativo". a linha normal está assim:"SELECT * FROM funcionarios WHERE ID = " + Replace(RSAltera__MMColParam, "'", "''") + ""agora nao sei como faria para, alem disso, colocar o inner join

Compartilhar este post


Link para o post
Compartilhar em outros sites

quais são a chave primaria da primeira tabela e a chave estrageira da segunda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao, eu coloquei os numeros pra simbolizar.... aqui os campos estao com nomes mesmo (nome, dia, mes, etc...)considere a chave primeira sendo o numero 1, em ambas as tabelas (na verdade o nome q dei é ID).o q é chave estrangeira? ela é definida com esse nome ou é apenas o primeiro campo "normal" depois da chave primaria?! se for isso, considere como sendo o numero 2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

chave estrageira é um campo na segunda tabela que tem o mesmo valor da chave primaria da primeira tabela, é através dela que tem o relacionamento ente as mesmas

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP [/tr][tr]

SQL = "SELECT * FROM FUNC_MES INNER JOIN FUNCIONARIOS ON ID.FUNCIONARIOS = ID.FUNC_MES WHERE STATUS.FUNCIONARIOS = 'ATIVO' "

[/tr]

 

Acredito ser assim

 

Se bem que não manjo muito de Inner Join..

 

Desculpe se errei.. postae que tentamos de novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP [/tr][tr]

SQL = "SELECT * FROM FUNC_MES INNER JOIN FUNCIONARIOS ON ID.FUNCIONARIOS = ID.FUNC_MES WHERE STATUS.FUNCIONARIOS = 'ATIVO' "

[/tr]

 

Acredito ser assim

 

Se bem que não manjo muito de Inner Join..

 

Desculpe se errei.. postae que tentamos de novo

você somente inverteu as ordens do SQL ao invés de ser CAMPO.TABELA seria TABELA.CAMPO, exemplo: ID.FUNCIONARIOS seria FUNCIONARIOS.ID

 

 

falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa...

 

entao, fiz isso que o rockloco e o AEM disseram, mas acabou dando o seguinte erro (q imagino ser por outro motivo):

 

 

 

Microsoft JET Database Engine error '80040e14'

 

Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.

 

/funcionarios/teste_view.asp, line 21

 

 

 

O codigo da pag é:

 

ASP [/tr][tr]

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="Connections/Conexao.asp" -->

 

<%

Dim RSAltera__MMColParam

RSAltera__MMColParam = "1"

If (Request.QueryString("ID") <> "") Then

RSAltera__MMColParam = Request.QueryString("ID")

End If

%>

<%

Dim RSAltera

Dim RSAltera_numRows

 

Set RSAltera = Server.CreateObject("ADODB.Recordset")

RSAltera.ActiveConnection = MM_Conexao_STRING

RSAltera.Source = SQL = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE funcionarios.STATUS = 'ativo' "

RSAltera.CursorType = 0

RSAltera.CursorLocation = 2

RSAltera.LockType = 1

RSAltera.Open() ****************************linha21************

 

RSAltera_numRows = 0

%>

 

 

<div align="justify">

<p>

 

 

 

 

<body link="#000000" vlink="#000000" alink="#000000">

 

 

<table width="100%" border="0">

<tr>

<td align="right" valign="top"> <div align="right"><strong></strong></div>

<div align="center"><font color="#336699" size="3" face="Trebuchet MS"><strong>Funcionário

do Mês</strong> </font></div></td>

</tr>

<tr>

<td align="right" valign="top"> </td>

</tr>

<tr>

<td height="24" align="center" valign="top"> <div align="center"><font size="1" face="Verdana"><img src="upload/<%=(RS("FOTO"))%>" width="100" height="133" hspace="2" vspace="2" border="1" align="center"></font></div></td>

</tr>

<tr>

<td height="24" align="center" valign="top"><strong><font color="#336699" size="3" face="Trebuchet MS"><%=(RS("NOME"))%></font></strong></td>

</tr>

<tr>

<td height="24" align="center" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto">

<p class="texto"><font face="Trebuchet MS"><strong>Data Nasc.:</strong></font><font face="Verdana">

</font><font face="Trebuchet MS"><%=(RSAltera("DIA_NASC"))%>/<%=(RSAltera("MES_NASC"))%>/<%=(RSAltera("ANO_NASC"))%></font><font face="Verdana"><br>

</font><font face="Trebuchet MS"><strong>Local:</strong></font><font face="Verdana">

<font face="Trebuchet MS"><%=(RSAltera("LOCALIDADE"))%><br>

<strong>Função:</strong><%=(RSAltera("FUNCAO"))%><br>

<strong>Setor:</strong><%=(RSAltera("SETOR"))%><br>

<strong>Admissão:</strong><%=(RSAltera("ADMISSAO"))%></font></font></p>

</div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>História

da Vida:</strong><%=(RSAltera("HISTORIA"))%></div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>Vida

Profissional:</strong><%=(RSAltera("VIDA"))%></div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>Ping-Pong:</strong><%=(RSAltera("PING-PONG"))%></div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>Por

que foi escolhido como Funcionário do Mês:</strong><%=(RSAltera("MOTIVO"))%></div></td>

</tr>

</table>

 

 

 

<%

RSAltera.Close()

Set RSAltera = Nothing

%>

</p>

</div>

[/tr]

 

 

Estou tentando aqui.... mas se nesse meio tempo alguem tiver uma sugestão, agradeço mto!!

 

abço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

RSAltera.Source = SQL = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE funcionarios.STATUS = 'ativo' "

dá uma olhada nessa linha acima.... veja se tem alguma coisa de errado!!

 

falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ntes da linha do erro poeeresponse.write SQL e posta aqui o que aparecer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

RSAltera.Source = SQL = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE funcionarios.STATUS = 'ativo' "
muda pra
RSAltera.Source = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE funcionarios.STATUS = 'ativo' "

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem dois sinais de igual abaixo

RSAltera.Source = SQL = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE

funcionarios.STATUS ='ativo'"

 

Coloca assim

ASP [/tr][tr]

RSAltera.Source = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE

funcionarios.STATUS ='ativo'"

[/tr]

 

TENTA E....

Compartilhar este post


Link para o post
Compartilhar em outros sites

manteve o mesmo erro.> eu disse q manteve sem considerar essa alteração q o mario e o AEM disseram.... ja vou alterar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aquilo acho q resolveu..... agora apareceu o seguinte:ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /funcionarios/teste_view.asp, line 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro diz que BOF ou EOF são verdadeiros... ou que o registro atual foi excluido...você tem algo mais no código ou é só isso??Se tiver postae por inteiro

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha, eu arrumei o negocio da foto q deve aparecer e tals, ae o erro acima sumiu, mas apareceu outro!! rs e é justamente na linha q eu coloquei agora....

 

 

error '80020009'

Exception occurred.

 

/funcionarios/teste_view.asp, line 48

 

 

ASP [/tr][tr]

 

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="Connections/Conexao.asp" -->

 

<%

Dim RSAltera__MMColParam

RSAltera__MMColParam = "1"

If (Request.QueryString("ID") <> "") Then

RSAltera__MMColParam = Request.QueryString("ID")

End If

%>

<%

Dim RSAltera

Dim RSAltera_numRows

 

Set RSAltera = Server.CreateObject("ADODB.Recordset")

RSAltera.ActiveConnection = MM_Conexao_STRING

RSAltera.Source = "SELECT * FROM func_mes INNER JOIN funcionarios ON funcionarios.ID = func_mes.ID WHERE funcionarios.STATUS ='ativo'"

RSAltera.CursorType = 0

RSAltera.CursorLocation = 2

RSAltera.LockType = 1

RSAltera.Open()

 

RSAltera_numRows = 0

%>

 

 

<div align="justify">

<p>

 

 

 

 

<body link="#000000" vlink="#000000" alink="#000000">

 

 

<table width="100%" border="0">

<tr>

<td align="right" valign="top"> <div align="right"><strong></strong></div>

<div align="center"><font color="#336699" size="3" face="Trebuchet MS"><strong>Funcionário

do Mês</strong> </font></div></td>

</tr>

<tr>

<td align="right" valign="top"> </td>

</tr>

<tr>

 

<%

if (RSAltera("FOTO")) <> "" then *********************linha48*******

%>

 

<td height="24" align="center" valign="top"> <div align="center"><font size="1" face="Verdana"><img src="upload/<%=(RSAltera("FOTO"))%>" width="100" height="133" hspace="2" vspace="2" border="1" align="center"><% end if %></font></div></td>

</tr>

<tr>

<td height="24" align="center" valign="top"><strong><font color="#336699" size="3" face="Trebuchet MS"><%=(RSAltera("NOME"))%></font></strong></td>

</tr>

<tr>

<td height="24" align="center" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto">

<p class="texto"><font face="Trebuchet MS"><strong>Data Nasc.:</strong></font><font face="Verdana">

</font><font face="Trebuchet MS"><%=(RSAltera("DIA_NASC"))%>/<%=(RSAltera("MES_NASC"))%>/<%=(RSAltera("ANO_NASC"))%></font><font face="Verdana"><br>

</font><font face="Trebuchet MS"><strong>Local:</strong></font><font face="Verdana">

<font face="Trebuchet MS"><%=(RSAltera("LOCALIDADE"))%><br>

<strong>Função:</strong><%=(RSAltera("FUNCAO"))%><br>

<strong>Setor:</strong><%=(RSAltera("SETOR"))%><br>

<strong>Admissão:</strong><%=(RSAltera("ADMISSAO"))%></font></font></p>

</div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>História

da Vida:</strong><%=(RSAltera("HISTORIA"))%></div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>Vida

Profissional:</strong><%=(RSAltera("VIDA"))%></div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>Ping-Pong:</strong><%=(RSAltera("PING-PONG"))%></div></td>

</tr>

<tr>

<td height="24" align="right" valign="top"> </td>

</tr>

<tr>

<td height="38" align="right" valign="top"><div align="left" class="texto"><strong>Por

que foi escolhido como Funcionário do Mês:</strong><%=(RSAltera("MOTIVO"))%></div></td>

</tr>

</table>

 

 

 

<%

RSAltera.Close()

Set RSAltera = Nothing

%>

</p>

</div>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

ASP [/tr][tr]

<%

if (RSAltera("FOTO") <> "") then *********************linha48*******

%>

[/tr]

 

SE NAO DER TENTA

 

ASP [/tr][tr]

<%

if RSAltera("FOTO") <> "" then *********************linha48*******

%>

[/tr]

 

E POSTAE

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.