Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Gurgel

Selecionar um item da tabela

Recommended Posts

Ola pessoal, Boa tarde,

 

Estou com um duvida muito grande a respeito de um codigo aqui,

 

Tenho uma tabela chamada Pedstatus,

 

que tem conteudo tipo assim

 

Codpedido ------ Nome ----- VAlor ------ Status ------ DATA

00001 Thiago 10 Aguardando 03/07/2009

00001 Thiago 10 Liberado 04/07/2009

00002 JOAO 35 Aguardando 04/07/2009

00002 JOAO 35 Liberado 03/07/2009

 

 

Dai quando seleciono usando

 

SELECT codpedido, Max(data)
FROM PedStatus
GROUP BY codpedido

 

Ele trais o ultimo certinho, só que só Duas colunas,

CodPedido E Data

ja tentei de tudo, não consigo fazer trazer Todas as colunas do status + Novo.

 

 

 

tem algo que possa colocar ?

 

 

Queria que o resultado fosse assim...

Codpedido ------ Nome ----- VAlor ------ Status ------ DATA

00001 Thiago 10 Liberado 04/07/2009

00002 JOAO 35 Liberado 04/07/2009

 

TEm como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o restante do code você deve ter errado alguma coisa lá;

Eu coloquei este codigo no SQL para ver o resultado,

ele não traz todas as colunas,

apenas

CodProduto e Data,

 

Qual codigo coloco para aparecer toda coluna da tabela, e não só CODPRODUTO E DATA ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT codpedido, Max(data), Nome, VAlor, Status FROM PedStatus GROUP BY codpedido

 

agora reli e entendi, faça como o exemplo acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é pq você esta mandando selecionando apenas SELECT codpedido, Max(data) FROM PedStatus GROUP BY codpedidovc pode usar o

SELECT MAX(data) AS data_ped Nome, VAlor, Status FROM PedStatus GROUP BY codpedido

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o numero do erro gerado e a linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

é pq você esta testando direto no SQL, né

joga ele na pagina e executa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa ter mais de uma tabela para o INNER JOIN, lembre-se da impôrtancia de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo , um projeto bem estruturado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inda continua dando erro

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver]

Column 'PedStatus.Status' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jovem seria muito mais facil te ajudar se você postasse o code da page para a gente saber como esta fazendo e aonde pode esta o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia. pode existir um Invalid column name 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tai o Codigo da programacao inteira,

 

Com os Campos que preciso.

 

<%@ Language=VBScript %>
<% Response.Expires = 0 %>
<!-- #include file="../adovbs.inc" -->
<!-- #include file="seguranca.asp" -->
<!-- #include file="conexao2.asp" -->
<!-- #include file="funcoes.asp" -->

<%
'========================================================================
'=================== CGI DE LISTAGEM DAS PedStatus =====================
'========================================================================

Set rsPedStatus = Server.CreateObject("ADODB.RecordSet")
%>

<html>
<base target="_self">
<body leftmargin="2" link="#000000" vlink="#000000" alink="#FF0000">
<center>
<table border="1" cellpadding="2" id="AutoNumber1" bordercolor="#3454A7" cellspacing="1">
  <tr>
	<td align="center" height="35" colspan="8" bgcolor="#3454A7"><b>
	<font face="Verdana" color="#FFFFFF">Lista de PedStatus Publicidade</font></b></td>
  </tr>
<%
SQL = "SELECT top 10 MAX(data) AS data_ped, Status, correio FROM PedStatus "
rsPedStatus.Open SQL, Conexao

If (rsPedStatus.RecordCount <> 0) Then %>
  <tr>
	<td><b><font face="Verdana" size="2">Data</font></b></td>
	<td><b><font face="Verdana" size="2">Status</font></b></td>
	<td align="center"><b><font face="Verdana" size="2">Correios</font></b></td>
	<td align="center"><b><font face="Verdana" size="2">Codpedido</font></b></td>

	<td align="center"> </td>
	<td align="center"> </td>
  </tr>
<%
  While Not (rsPedStatus.EOF)
	  
%>
  <tr>
	<td><font face="Verdana" size="1"><%= RsPedStatus("data_ped") %></font> </td>
	<td><font face="Verdana" size="1"><%= rsPedStatus("status") %></font> </td>
	<td align="center"><font face="Verdana" size="1"><%= rsPedStatus("correio") %></font> </td>
	<td align="center"><font face="Verdana" size="1"><%= rsPedStatus("Codpedido") %></font> </td>
	<td align="center"> </td>
	<td align="center"> </td>
  </tr>
<%  rsPedStatus.MoveNext
  Wend
   If (rsPedStatus.RecordCount = 1) Then %>
  <tr>
	  <td align="center" colspan="8" height="50"><b> <font face="Verdana" size="1" color="#FF0000">
	  Foi encontrado <%=rsPedStatus.RecordCount%> Status</font></b></td>
  </tr>
<% Else %>
  <tr>
	  <td align="center" colspan="8" height="50"><b> <font face="Verdana" size="1" color="#FF0000">Foram 
		encontrados <%=rsPedStatus.RecordCount%> Status</font></b></td>
  </tr>
<% End If
Else %>
  <tr>
	  <td align="center" colspan="8" height="100"><b> <font face="Verdana" size="2" color="#FF0000">
	  Não foi encontrado nehum Status...</font></b></td>
  </tr>
<%
End If
rsPedStatus.Close %>
</table>

</center>

</body>
</html>

<%
Set rsPedStatus = Nothing
Fecha_Conexao
%>

 

Tem algo errado ?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu entendi o seu problema é com a cláusula GROUP BY. Você não vai conseguir agrupar mais de 2 colunas na mesma query portanto eu sugiro você a quebrar essa query em mais de uma. Primeiro você seleciona os dados do código do produto e data para depois localizar as outras colunas através do seu código que é chave primária.

Pode até haver outra solução mais prática porém esta foi a primeira que me veio a cabeça

 

Abraç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.