
29/03/2012, 17:23
|
| | Fecha de Ingreso: enero-2010
Mensajes: 73
Antigüedad: 15 años, 2 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
|