Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ordenar con GROUP BY, HAVING

Estas en el tema de ordenar con GROUP BY, HAVING en el foro de Mysql en Foros del Web. Tengo la siguiente tabla: id id_items id_fc nombre cantidad unidad precio moneda 1 1 0 Prod1 9612 unidad 152 dolar 21 1 1 prod3 150 ...
  #1 (permalink)  
Antiguo 25/06/2008, 16:29
 
Fecha de Ingreso: agosto-2003
Mensajes: 120
Antigüedad: 20 años, 8 meses
Puntos: 0
ordenar con GROUP BY, HAVING

Tengo la siguiente tabla:

id id_items id_fc nombre cantidad unidad precio moneda
1 1 0 Prod1 9612 unidad 152 dolar
21 1 1 prod3 150 NULL NULL NULL
9 1 0 prod3 500 ton 321 peso
20 1 1 Prod1 100 NULL NULL NULL
19 1 NULL NULL NULL NULL NULL NULL

Quiero obtener los registros agrupados por nombre, con los datos de aquel que tenga id_fc = 0 o NULL (unico). Aparte, quiero tener una columna que me de la suma de las cantidades de todos los items de ese nombre (con distintos id_fc) menos la cantidad del mostrado.

Hago lo siguiente:
SELECT * , (SUM( cantidad ) - cantidad) AS facturado FROM PRODUCTOS WHERE id_items = '1' GROUP BY nombre HAVING ( id_fc =0 OR id_fc IS NULL )

El problema es que me devuelve:

id id_items id_fc nombre cantidad unidad precio moneda facturado
19 1 NULL NULL NULL NULL NULL NULL NULL
1 1 0 Prod1 9612 unidad 152 dolar 100

Deberia aparecer prod3, pero evidentemente esta tomando la fila que tiene id_fc antes de hacer el HAVING y por eso queda afuera.

Como hago que el GROUP BY tome la fila con id_fc mas bajo o cero?

Muchas Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




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