Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-11-2009
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Consulta y filtro por cantidad

Tengo una tabla con el detalle de venta de ciertos productos, asi:

TABLA A
---------
ID_PRODUCTO
DESCRIPCION
PRECIO
CANTIDAD
FECHA
EMPLEADO

Yo lo que quiero hacer, es mostrar las ultimas 5 ventas de cada producto, como podria hacerlo? Lo que no se, es como limitar la consulto a 5 ventas de cada producto, o las que yo quiera ver ya sean 2 de cada uno, o las ultimas 10.

Desde ya muchas gracias
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 18-11-2009
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Poder: 16
Axel_Tech Va por buen camino
¿Qué motor de base de datos usas? En Firebird se utiliza la cláusula FIRST, en MySQL se usa LIMIT, en SQL Server se usa TOP...
Para mostrar las últimas 5 ventas ordena por fecha de forma descendente (ORDER BY FECHA DESC).
Responder Con Cita
  #3  
Antiguo 18-11-2009
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Axel_Tech Ver Mensaje
¿Qué motor de base de datos usas? En Firebird se utiliza la cláusula FIRST, en MySQL se usa LIMIT, en SQL Server se usa TOP...
Para mostrar las últimas 5 ventas ordena por fecha de forma descendente (ORDER BY FECHA DESC).
Uso SQL 2005 y utilizo TOP, pero no quiero limitar la cantidad global de registros, sino a 5 registros de cada elemento, es decir, los ultimos 5 de tornillos, los ultimos 5 de tuercas, etc, todos juntos en una sola consulta
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 18-11-2009
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Poder: 16
Axel_Tech Va por buen camino
En una sola consulta no se me ocurre nada, pero sí una alternativa aunque es un poco más engorrosa. Se trata de hacer un procedimiento almacenado.
El funcionamiento sería con un cursor, haciendo una consulta que seleccione cada producto diferente
Código SQL [-]
SELECT DISTINCT DESCRIPCION FROM A
lo almacenarías en una variable
Código SQL [-]
INTO @V_DESCRIPCION
y luego harías un INSERT combinado con SELECT en una tabla temporal de los 5 primeros registros que tienen por descripción el producto por el que vamos (@V_DESCRIPCION)
Código SQL [-]
INSERT INTO TABLA_TEMPORAL 
SELECT TOP (5) ID_PRODUCTO, DESCRIPCION, PRECIO, CANTIDAD, FECHA, EMPLEADO 
FROM A 
WHERE DESCRIPCION = @V_DESCRIPCION ORDER BY FECHA DESC
Y por último una vez ejecutado el SP harías un simple SELECT * de TABLA_TEMPORAL.
Seguramente haya errores de sintaxis y tal pero creo que más o menos te haces una idea.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
filtro consulta ale_metall Varios 0 21-10-2007 20:53:48
cantidad de articulos juanchopit Varios 3 20-09-2005 05:57:54
Como Cambiar Una Cantidad Numerica En Una Cantidad En Letra AdIIX Varios 3 28-04-2005 21:45:23
cantidad de noches fixarg Firebird e Interbase 4 20-12-2004 23:03:20
¿Cantidad de records encontrados en una consulta? Lester SQL 5 11-06-2003 18:20:58


La franja horaria es GMT +2. Ahora son las 00:38:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi