PHP - Paginación con php+sql server

 
Vista:

Paginación con php+sql server

Publicado por kuzo440 (2 intervenciones) el 08/07/2005 10:14:29
Tengo un problema con Microsoft SQL SERVER + PHP. No consigo que hacer el código de paginación de resultados correctamente, porque el código que tengo creado sólo funciona si el campo clave es un campo único.

En mi tabla tengo dos campos clave y el valor que pueden tener se puede repetir. Al hacer el “campo1 not in” al haber valores repetidos me descarta el último NOVLIQ. Realmente tendría q mostrar en la 2a pagina solamamente NOVLIQ-CE (último registro), pero aparece en blanco.

La solución aparente seria después del where colocar el segundo campo clave pero no lo coje o utilizar un campo extra identificador de tipo autonumérico que no se repita y utilizarlo en el where. Pero quiero saber si hay otra forma

CAMPO_1(clave1) CAMPO2(clave2)
ANUCAL INF
ANUDUP CE
ANUDUP INF
ANUNOT INF
NOVLIQ ENG
NOVLIQ CE

select top 5 * from tabla where campo1 not in (select top 5 campo1 from tabla order by campo1) order by campo1

Os agradecería mucho vuestra ayuda porque no encuentro la solución y se me hecha el tiempo encima.
SALUDOS A TODOS !!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Paginación con php+sql server

Publicado por Mike79 (669 intervenciones) el 11/07/2005 18:58:06
Este es un problema de SQL no de PHP, deberias preguntar en el foro de SQL Server (si existe) :P

No se SQL Server, pero Intentalo asi:

select top 5 * from tabla where concat(campo1,campo2) not in (select top 5 concat(campo1,campo2) from tabla order by campo1) order by campo1

No recuerdo si concat es sql estandar, pero en MySql concatena dos campos en uno solo. Así que intentalo, y si no, revisa cual es el equivalente de concat en sql server.

Tambien seria buena idea que en lugar de poner:
order by campo1

pusieras:
order by campo1, campo2

Así ordenaria primero por el campo1 y luego los repetidos, los ordenaria por campo2.

Espero te sirva.
Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paginación con php+sql server

Publicado por kuzo440 (2 intervenciones) el 12/07/2005 10:04:57
ERES UN GENIOOOO !!!! Efectivamente, lo que en MYSQL ES "CONCAT" EN SQL SERVER ES CON "+". Es decir, la frase queda:

select *
from tabla
where campo1+campo2 not in
(select top 5 campo1+campo2
from tabla
order by campo1, campo2)
order by campo1,campo2

MUCHAS GRACIAS !!!!!! Me has salvado la vida !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Paginación con php+sql server

Publicado por Mike79 (669 intervenciones) el 12/07/2005 16:31:37
De nada, me da gusto que te halla servido.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar