Como realizar esta consulta en oracle??

Iniciado por Bhrentox, 20 Mayo 2012, 22:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Bhrentox

Resulta que tengo mi tabla:



Si no se ve la imagen aca les dejo el link
http://imageshack.us/f/341/tablar.png/

Lo que deseo hacer es una consulta que me muestre todos los productos que hayan sido vendidos el mismo dia que el producto que contiene el 'total' mayor que en este caso seria el del 'total'= 456 ¿Como realiza la consulta para que me muestre los 5 productos mas vendidos ese dia que en este caso seria el 4/12/2012?

Espero haberme dado a explicar salu2 y muchas gracias de ante mano.
"Enseñar a los niños el uso de software libre en las escuelas, formará individuos con sentido de libertad"
"Microsoft no es el diablo, sólo hacen sistemas operativos vulgares."
"No temo a los ordenadores; lo que temo es quedarme sin ellos"
"Una vez un ordenador me venció jugando al ajedrez, pero no me opuso resistencia cuando pasamos al kick boxing"

soru13

yo creo que esta consulta te debería funcionar:

Código (SQL) [Seleccionar]
SELECT * FROM tabla WHERE dia IN (SELECT dia FROM tabla WHERE total = MAX(total)) ORDER BY total ASC LIMIT 5;

HdM

Buenas.

@soru13: tío no le hagas las tareas  :-\, por lo menos que ponga el desarrollo de cómo ha montado su consulta, en qué se atasca...

De todos modos, tu propuesta creo que no le funcionará. LIMIT, que yo sepa no existe en Oracle (hay algo parecido pero no funciona exactamente igual). MAX, debería ir dentro de una subconsulta. El campo "dia", no tiene formato fecha "dd/mm/yy" o equivalente, habría que utilizar además, los campos "mes" y "año".

Un saludo.

- Nice to see you again -