Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2012, 13:22
refreegrata
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 8 meses
Puntos: 27
Duda con sum y group by

Hola foreros. Tengo una duda. Quisiera hacer una consulta y no se me ocurre como hacerla de manera simple. Tampoco estoy seguro de que se pueda.

Miren, la tabla a consultar es algo así:
-------------------------------------
cantidad | codigo_producto
500 | 1
100 | 2
150 | 2
300 | 1
400 | 1
-------------------------------------

En realidad hay más campos, como la PK y otros datos pero para la consulta sólo me interesan esos. Lo que yo quiero es obtener filas que sumen la cantidad, pero si dicha suma supera un valor x, colocarla en otra fila.

Me explico un poco mejor con un ejemplo. Supongamos que x es 1000. Yo de momento tengo esta query:
Código:
SELECT sum(cantidad) AS suma,codigo_producto FROM detalle GROUP BY codigo_producto;
esto devolverá:
-------------------------------------
suma | codigo_producto
1200 | 1
250 | 2
-------------------------------------
1200 es más que 1000, a mí me hubiese gustado obtener algo como:

-------------------------------------
suma | codigo_producto
1000 | 1
200 | 1
250 | 2
-------------------------------------

Igual me hubiera servido:
-------------------------------------
suma | codigo_producto
800 | 1
400 | 1
250 | 2
-------------------------------------
es decir, sin necesidad de dividar la fila con 300, o la de 400 en 2 partes.

Realmente no se si se pueda sin usar código en la app, o programar algún procedimiento almacenado.

Saludos.

P.D.:Uso postgresql 8.4. No lo he actualizado para trabajar con la misma versión que hay en el server, al cual no puedo acceder directamente.