• Viernes 8 de Noviembre de 2024, 20:14

Autor Tema:  Sacar Los 10 Primeros Datos De Una Tabla  (Leído 4313 veces)

silvi

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Sacar Los 10 Primeros Datos De Una Tabla
« en: Viernes 30 de Julio de 2004, 10:17 »
0
saludos!
Tengo una tabla de la ke kiero sacar unicamente los 10 primeros datos. Tengo un campo fecha ordenado en descendente, y kiero sacar solo las 10 primeras fechas. Seria komo hacer un top 10 desde sql.
Haber si podeis ayudarme

virso

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Sacar Los 10 Primeros Datos De Una Tabla
« Respuesta #1 en: Viernes 30 de Julio de 2004, 12:37 »
0
Hola Silvi...

A ver te voy a intentar contestar a tu pregunta... creo que tu idea..segun como la planteas no se podria hacer con sql..porke no hay ninguna operacion en sql que te permita extraer un numero deseado de registros de la tabla, es decir, podras sacar registros mediante consultas sql pero siempre y cuando esos datos cumplan una condicion determinada pero sql (desde mi humilde opinion) no permite sacar un numero determinado de registros simplemente porque no t proporciona ninguna instruccion para ello y teniendo en cuenta tambien que una consulta se ejecuta en una sola linea...sin bucles..pues tampoko hay posibilidad de utilizar una variable como contador.
Yo t puedo proponer varias soluciones:
la primera es que crees una nueva tabla en tu base de datos y vuelques los 10 primeros registros siempre que los quieras visualizar con el informe y despues de la visualizacion los borres.
la segunda y para mi gusto mas optima es que en esa tabla de registros que tienes, añadas un nuevo campo que almacene la posicion del registro en esa tabla, es decir, cada vez que se añada un registro, en el campo posicion guardas el valor de la posicion que va a ocupar ese registro de forma que la posicion sea un nuevo atributo mediante el cual se pueda filtrar informacion mediante una consulta sql por ejemplo de esta forma:

SELECT * FROM FECHAS WHERE POSICION =< 10

de esta forma (y como me comentaste antes que el indice de la tabla es la fecha)..te saldrian en el informe las 10 primeras posiciones ordenadas de menor a mayor fecha.

Espero haberme explicado y haberte podido ayudar un abrazo.

EL_GATUBELO

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Sacar Los 10 Primeros Datos De Una Tabla
« Respuesta #2 en: Viernes 1 de Abril de 2005, 21:14 »
0
a ver mamita...
quiere solo mostrar las 10 primeras fechas, para esto (haciendolo en CR 9/10) podrias utilizar un procedimiento almacenado en el cual ingresas tu consulta (digamos un select top 10 * from mitabla order bye fecha desc), luego desde el asistente de crystal simplemente jalas el procedimiento y le das el formato q quieras en el infome... creo q es algo sencillo de realizar, ahora el problema seria si usaras una version anteriot (...7/8) en ese caso tendrias q armar tu consulta de sql en el crystal tal como esta arriba.... pero ten en cuenta q tal ves no podria funcionar el comando top... asi q yo recomiendo crear una formula inicializarla en un, y q funcione como un contador de los registros, luego truncas la consulta cuando la formula sea > 10 y listo... ya tienes los 10 primeros registros ordenados por fechas.. pero esta es una manera ineficnete de hacerlo, pues los registros restantes estarian sobrando y tal vez estorbando en la memoria... bueno cualquier consulta me pasas la voz a mi correo u2alternativo@hotmail.com