Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Rangos de filas

Estas en el tema de Rangos de filas en el foro de Oracle en Foros del Web. Saludos estoy realizando una pagina la cual utilizando AJAX se conecta a una base de datos y realiza busquedas a una tabla la cual arroja ...
  #1 (permalink)  
Antiguo 19/08/2010, 15:19
 
Fecha de Ingreso: agosto-2010
Ubicación: León Gto. México
Mensajes: 39
Antigüedad: 14 años, 3 meses
Puntos: 0
Rangos de filas

Saludos estoy realizando una pagina la cual utilizando AJAX se conecta a una base de datos y realiza busquedas a una tabla la cual arroja datos de un cliente, la idea es que se pueda buscar un cliente por su clave o su nombre, pero en algunos casos debo de paginar los datos, para hacerlo he pensado en hacerlo por rangos, es decir:

si resultan 33 resultados (tuplas) ir mostrando de 10 en 10 con la siguiente consulta:

SELECT CLIE_CLAVE AS CLAVE,
CLIE_RAZONSOCIAL AS CLIENTE,
(CLIE_NOMBRE||' '||CLIE_APELLIDOPATERNO) AS CONTACTO
FROM VCLIENTES
WHERE EMPR_EMPRESAID = '1'
AND CLIE_CLAVE LIKE '3%'
AND ROWNUM BETWEEN 1 AND 11

El detalle es que solo sirve para rangos que parten de 1 o 0 hasta X pero para rango de (1+n) - X no funciona.

Alguna idea para realizar la consulta por rangos usando rownum??
  #2 (permalink)  
Antiguo 20/08/2010, 02:53
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Rangos de filas

Te dejo un ejemplo de como paginar con ROWNUM

Código:
with t as (
select rownum fila, object_name from user_objects order by object_name
)
select * from t where fila between 1 and 10
De esta manera puedes poner cualquier rango en el between.

Saludos
  #3 (permalink)  
Antiguo 21/08/2010, 01:49
 
Fecha de Ingreso: agosto-2010
Ubicación: León Gto. México
Mensajes: 39
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Rangos de filas

Ps no me queda tan claro... lo probare... mientras tanto utilice, esto y me funciono bien... supongo que es el camino largo XD... te agradesco la ayuda.

Cita:
SELECT CLAVE, CLIENTE, PUESTO
FROM
(
SELECT ROWNUM AS REG, CLAVE, CLIENTE, PUESTO
FROM
(
SELECT PROS_PROSPECTOID AS CLAVE,
NOMBREPROS AS CLIENTE,
PROS_PUESTO AS PUESTO
FROM PR_VPROSPECTOS
WHERE EMPR_EMPRESAID = ".$cve_empresa."
AND NOMBREPROS LIKE '".$cad_busc."%'
ORDER BY NOMBREPROS
)
WHERE ROWNUM <= ".$rango_final."
)
WHERE REG >= ".$rango_inicial;

Etiquetas: filas, rangos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:23.