Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Oracle (http://www.forosdelweb.com/f100/)
-   -   Problema con consulta con group by (http://www.forosdelweb.com/f100/problema-con-consulta-con-group-586512/)

phf84 14/05/2008 13:42

Problema con consulta con group by
 
Hola,

Estoy intentando pasar unas consultas de MySQL a Oracle y hasta ahora lo he logrado, pero una se me resiste.

"Para cada producto, seleccionar el pedido con mayor número de unidades de ese producto y mostrar todos los datos del pedido"

Si pongo esto...
Código:

SELECT producto_no "Num producto", pedido_no "Num pedido",
cliente_no "Cliente", MAX(unidades) "Num máximo unidades",
fecha_pedido "Fecha pedido"
FROM PEDIDOS
GROUP BY producto_no;

Me da este error... :abajo:
Error starting at line 1 in command:
SELECT producto_no "Num producto", pedido_no "Num pedido", cliente_no "Cliente", MAX(unidades) "Num máximo unidades", fecha_pedido "Fecha pedido"
FROM PEDIDOS
GROUP BY producto_no
Error at Command Line:1 Column:35
Error report:
SQL Error: ORA-00979: no es una expresión GROUP BY
00979. 00000 - "not a GROUP BY expression"


Mientras que si pongo esto (que es una versión reducida de la consulta que quiero hacer):
Código:

SELECT producto_no "Num producto", MAX(unidades) "Num máximo unidades"
FROM PEDIDOS
GROUP BY producto_no;

Me sale correcto.

¿Por qué será?

Muchísimas gracias por adelantado.

kikolice 14/05/2008 21:02

Re: Problema con consulta con group by
 
tu group by tendria que quedar para que no te mande ese error

group by producto_no,
pedido_no,
cliente_no

Michelc 15/05/2008 07:22

Re: Problema con consulta con group by
 
También hay que agregar fecha_pedido

group by producto_no,
pedido_no,
cliente_no,
fecha_pedido

Saludos.

ccalvofer 21/05/2008 03:29

Respuesta: Problema con consulta con group by
 
La query debería de ser esta:
SELECT producto_no "Num producto", pedido_no "Num pedido",
cliente_no "Cliente", MAX(unidades) "Num máximo unidades",
fecha_pedido "Fecha pedido"
FROM PEDIDOS
GROUP BY producto_no,
pedido_no,
cliente_no,
fecha_pedido;

Fagozitosia 21/05/2008 07:30

Respuesta: Problema con consulta con group by
 
eso es, cuando tengas alguna funcion de grupo en el SELECT, en el GROUP BY deben de ir todos los demas campos


La zona horaria es GMT -6. Ahora son las 01:56.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.