Ir para conteúdo

Arquivado

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

voltolini

Select

Recommended Posts

Bom dia, estou com dificuldades em fazer o seguinte procedimento.

 

Tenho estas tabelas:

x1fwcz.png

Fiz o seguinte select

"SELECT funcionario.id_funcionario, funcionario.nome_funcionario, mensagem.id_remetente, mensagem.titulo_mensagem, mensagem.id_destinatario FROM funcionario INNER JOIN mensagem ON mensagem.id_destinatario = funcionario.id_funcionario WHERE mensagem.id_destinatario="&funcionario&"

Este comando executa o resultado correto como na imagem:

29oj41i.png

porem, ele mostra o id do remetente, gostaria de exibir o nome do mesmo, só que nao sei como fazer isto, algue pode dar algua dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites
ele mostra o id do remetente

veja a linha onde o item é exibido..

ex:

<%=(Recordset1.Fields.Item("id_remetente").Value)%>

troque por:

<%=(Recordset1.Fields.Item("nome_funcionario").Value)%>

dica: se a sql retorna o resultado correto, então não precisa posta-la;

melhor postar o código ASP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retona sempre o nome do destinatário,

<%
funcionario = request.cookies("coduser")("coduser")
RS.open "SELECT * FROM funcionario INNER JOIN mensagem ON mensagem.id_destinatario = funcionario.id_funcionario WHERE mensagem.id_destinatario="&funcionario&""
%>
 <table cellspacing="0">      
  <tr background="imagens/degrade_cinza.jpg">
    <td width="215"><div align="center">Remetente:</div></td>
    <td width="477"><div align="center">Titulo</div></td>
    <td width="214"><div align="center">Data</div></td>
    <td width="217"><div align="center">Status</div></td>
  </tr>
  			<% if not rs.eof then  
				while not rs.eof 
			%>
  <tr background="imagens/degrade_listra.png">
    <td height="44"><div align="center"><%=rs("nome_funcionario")%></div></td>
    <td height="44"><div align="center"><%=rs("titulo_mensagem")%></div></td>
    <td height="44"><div align="center"><%=rs("data_envio")%></div></td>
    <td height="44"><div align="center"><%=rs("status_mensagem")%></div></td>
  </tr>
      		<%
				rs.Movenext
				wend
				end if
			%>
</table>

N

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa.. agora é sql mesmo. problema parecido com o deste tópico:
http://forum.imasters.com.br/topic/534708-join-duas-tabelas/?p=2137544

vc deve criar um "alias" para a tabela mensagem; tente assim:

SELECT nome_funcionario as remetente
FROM (funcionario INNER JOIN mensagem ON funcionario.id_funcionario = mensagem.id_remetente)
LEFT JOIN mensagem AS mensagem_1 ON funcionario.id_funcionario = mensagem_1.id_destinatario
where id_funcionario=1;

troque o "1" pela sua variavel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, esta quase ok, porem ele duplica os resultados, sabe o que posso fazer?

SELECT nome_funcionario as remetente FROM (funcionario INNER JOIN mensagem ON funcionario.id_funcionario = mensagem.id_remetente) 
LEFT JOIN mensagem AS mensagem_1 ON funcionario.id_funcionario = mensagem_1.id_remetente 
WHERE mensagem.id_destinatario="&funcionario&""

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, fiz a seguinte consulta e deu certo, agrade muito sua ajuda

SELECT distinct mensagem.txt_mensagem, mensagem.data_envio, mensagem.id_mensagem,
 mensagem.status_mensagem, nome_funcionario as remetente FROM (funcionario INNER JOIN mensagem
 ON funcionario.id_funcionario = mensagem.id_remetente) LEFT JOIN mensagem AS mensagem_1 ON 
funcionario.id_funcionario = mensagem_1.id_remetente WHERE mensagem.id_destinatario="&funcionario&" ORDER BY mensagem.data_envio desc"

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.