Ir para conteúdo

POWERED BY:

Arquivado

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

creipi

[Resolvido] Fazer um select para mostrar somente o penúltimo regi

Recommended Posts

Pessoal,

 

Estou tentanto mostrar somente o penúltimo registro de uma tabela, tentei usando a Cláusula Top e não deu certo, vejam só:

 

recpir_rolante.open "select Top 2,2 * from pir_rolante ORDER BY codigo DESC", conpir_rolante

O que eu quero é facilmente implementado no Firebird usando as cláusulas offset e limit:

 

select * from pir_rolante ORDER BY codigo DESC offset 1 limit 1;

-- Obs: a cláusula limit estabelece que somente a 1ª tupla após o offset irá retornar e é isso que eu quero e não estou conseguindo no Access.

 

segue o código completo:

 

<%
dim conpir_rolante
dim recpir_rolante

Set conpir_rolante = Server.Createobject ("ADODB.Connection")
ABRIR="DSN=conexao"
conpir_rolante.open ABRIR

Set recpir_rolante = Server.Createobject ("ADODB.Recordset")

recpir_rolante.open "select Top 2,2 * from pir_rolante ORDER BY codigo DESC", conpir_rolante

%>	 

			   <%
					  do while not recpir_rolante.eof and counter < 2
					  counter=counter+1 %>  
						<img border="0" src="images/destaque/teste.jpg">
						 <font face="Arial" size="2">		 
					  <% response.write "" & recpir_rolante.fields ("titulo") & "<br>" %>	  </font>

						 <font face="Arial" size="1">		 

					  <a href="java script:portal('textorolante.asp?codigo=<% response.write "" & recpir_rolante.fields ("codigo")%>')">		   
					 <% response.write "" & recpir_rolante.fields ("texto")%></a> </br></br>	</font>
					  
 <%
 recpir_rolante.movenext
 loop
recpir_rolante.close
conpir_rolante.close
set conpir_rolante=nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

SELECT TOP (2) * FROM pir_rolante WHERE ID IN(SELECT TOP (2) ID FROM pir_rolante ORDER BY ID DESC )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode trazer os 2 ultimos e dar um MoveNext no ASP antes de mostrar caso não consiga pelo select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na sql postada anteriormente acho que deveria ser TOP 1 na primeira ocorrencia em vez de TOP 2 duas vezes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Mário, foi assim mesmo que deu certo (com o Top 1 na primeira ocorrência), obrigado xanburzum pela ajuda.

 

Valeu Pessoal, Feliz ano novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito

 

feliz ano novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para Constar para quem não entendeu o que o Creipi falou ficou assim,

 

SELECT  TOP 1 * FROM Categories
WHERE CategoryID IN(SELECT TOP 2 CategoryID FROM Categories ORDER BY CategoryID desc)
order by CategoryID

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.