|    
			
				29/03/2012, 17:23
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: enero-2010 
						Mensajes: 73
					 Antigüedad: 15 años, 9 meses Puntos: 9 |  | 
  |  Respuesta: Sentencia SQL (access) para mensajes del foro  
  Veamos, parece que lo he conseguido con esto:
 SELECT TOP $MENSAJES_POR_PAGINA MAX(IdMensajeForo) AS NumeroMensaje, IdTema FROM MensajesForo WHERE  IdTema not in (
 SELECT TOP ($NUMERO_PAGINA - 1) * $MENSAJES_POR_PAGINA  IdTema AS NumeroMensaje FROM MensajesForo GROUP BY IdTema ORDER BY MAX(IdMensajeForo) DESC
 ) GROUP BY IdTema ORDER BY MAX(IdMensajeForo) DESC
 
 Digamos que estoy seleccionando los primeros 10 ($MENSAJES_POR_PAGINA) mensajes que haya que no estén en las páginas anteriores ($NUMERO_PAGINA - 1) * $MENSAJES_POR_PAGINA
 
 En el caso de que $NUMERO_PAGINA sea la 1, ($NUMERO_PAGINA - 1) * $MENSAJES_POR_PAGINA = 0, y da error, así que he tenido que ponerle:
 IF $NUMERO_PAGINA = 1 Then
 SQL = "SELECT TOP $MENSAJES_POR_PAGINA MAX(IdMensajeForo) AS NumeroMensaje, IdTema FROM MensajesForo GROUP BY IdTema ORDER BY MAX(IdMensajeForo) DESC"
 Else
 SELECT TOP $MENSAJES_POR_PAGINA MAX(IdMensajeForo) AS NumeroMensaje, IdTema FROM MensajesForo WHERE  IdTema not in (
 SELECT TOP ($NUMERO_PAGINA - 1) * $MENSAJES_POR_PAGINA  IdTema AS NumeroMensaje FROM MensajesForo GROUP BY IdTema ORDER BY MAX(IdMensajeForo) DESC
 ) GROUP BY IdTema ORDER BY MAX(IdMensajeForo) DESC
 End If
   Última edición por Hexplore; 29/03/2012 a las 17:48
					
					
						Razón: Error cuando $NUMERO_PAGINA = 1
     |