PDA

Ver la Versión Completa : seleccion de (n) Registros ?


IVAND
17-05-2003, 00:10:45
Hola a todos

Utilizo firebird 1.0 e IBX (Necesito lanzar una consulta que me devuelva los (n) primeros registros y en otra los (n) ultimos productos menos vendidos

Que funcion debo utilizar
De Antemano,

Gracias
:(

andres1569
17-05-2003, 11:49:06
Hola:

Más o menos sería algo así:


SELECT *
FROM ARTICULOS
ORDER BY NUMVENTAS DESC
ROWS(N)

y

SELECT *
FROM ARTICULOS
ORDER BY NUMVENTAS
ROWS(N)


Interbase no implementó la instrucción ROWS, que delimita el nº de registros devueltos, hasta la versión 6.5. Antes de esta versión la solución pasaba por definir un procedimiento almacenado. Todo ello lo puedes ver en estas dos páginas de Ian Marteens que lo explican:

http://www.marteens.com/trick17.htm

http://www.marteens.com/trick43.htm

Saludos

IVAND
17-05-2003, 17:12:52
Gracias andres :D

guillotmarc
19-05-2003, 10:33:53
Hola.

En este caso Firebird ha seguido una sintaxis distinta a la de Interbase. Tines que utilizar FIRST en lugar de ROWS.

Ejemplo :

SELECT FIRST 10
*
FROM ARTICULOS
ORDER BY NUMVENTAS DESC


Saludos

IVAND
19-05-2003, 15:58:39
Gracias Guillo

Esta mas facil que crear procedimientos

Donde puedo encontrar mas teoria para leer sobre las funciones de Firebird


De antemano

Gracias
;)

guillotmarc
19-05-2003, 16:22:34
Hola.

La referencia básica es la Documentación Beta para Interbase 6, que puedes encontrar en : http://www.ibphoenix.com/downloads/60All.zip

Además tienes las Release Notes, para Firebird 1.0, donde indican las funciones que se han añadido a Firebird 1.0 y que no estaban presentes en IB 6 (como por ejemplo el FIRST) : http://prdownloads.sourceforge.net/firebird/Firebird_v1_ReleaseNotes.pdf

Finalmente, puedes encontrar algunos artículos en castellano sobre Interbase / Firebird en : http://firebird.com.mx/

Saludos