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

Sumar dentro del select a un campo

Estas en el tema de Sumar dentro del select a un campo en el foro de PostgreSQL en Foros del Web. Amigos, tengo un pequeño problema. Tengo una tabla con productos, los cuales estan repetidos 3 veces ya que son 3 listas distintas de precios de ...
  #1 (permalink)  
Antiguo 21/02/2011, 23:07
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Sumar dentro del select a un campo

Amigos, tengo un pequeño problema.
Tengo una tabla con productos, los cuales estan repetidos 3 veces ya que son 3 listas distintas de precios de productos. Me explico:

nombre-----------codigo-----unidades
local.limones-----1000-------25
lista.limones-----2000-------11
alta.limones----3000-------4
local.guindas----1001-------3
lista.guindas----2001-------15
alta.guindas----3001-------4

Entonces, lo que deseo es sumar las unidades de todos los productos que tienen el codigo 1000, 2000, 3000, y los productos con el codigo 1001, 2001, 3001, etc...
Espero su ayuda.
Saludos chelovecos y ptitsas!
  #2 (permalink)  
Antiguo 22/02/2011, 07:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Sumar dentro del select a un campo

Código SQL:
Ver original
  1. SELECT codigo,SUM(unidades) AS suma FROM productos GROUP BY coidigo;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 22/02/2011, 08:12
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 7 meses
Puntos: 7
Respuesta: Sumar dentro del select a un campo

Que tiempos aquellos en los que la gente se esforzaba por hacer la tarea... tiempos que no volveran?
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 22/02/2011, 10:13
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

jajaja, no es tan asi cacr, jajaja.
Solo un ayuda memoria.
Vere si me sale Huesos.
Gracias.
  #5 (permalink)  
Antiguo 22/02/2011, 12:59
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

No es lo que necesito. Me falto ser un poco mas especifico. Los productos estan en una tabla y el stockk en otra.
lo que deseo es que la query me devuelva el stock de los productos 1000 + 2000 + 3000 + etc, 1001 + 2001 + 3001 + etc... que en este caso seria:

limones----40
guindas----22

Graaaaaacias.
  #6 (permalink)  
Antiguo 22/02/2011, 15:42
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 7 meses
Puntos: 7
Respuesta: Sumar dentro del select a un campo

Te invito a coloques él código SQL que estás usando para tratar de generar lo que necesitas a ver sí así te ayudamos mejor
__________________
Gracias de todas todas
-----
Linux!
  #7 (permalink)  
Antiguo 22/02/2011, 16:09
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

Cacr, necesitas atención? o solo posteas mala onda?
  #8 (permalink)  
Antiguo 23/02/2011, 02:16
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: Sumar dentro del select a un campo

Eso lo puedes hacer con un CASE de forma muy sencilla. Investiga por ahí.
  #9 (permalink)  
Antiguo 23/02/2011, 12:14
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

Gracias por el dato heimish, veamos que pasa.
  #10 (permalink)  
Antiguo 28/02/2011, 14:30
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

Un CASE no me sirve, ya que deberia de hacer uno por cada producto, y son 400 x 3.
Alguien q me ayude por faaaa!
  #11 (permalink)  
Antiguo 01/03/2011, 03:01
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: Sumar dentro del select a un campo

Un CASE utilizando el código de producto, no el producto en si. Por ejemplo, si la división entera del código entre mil da tres, hago una cosa, si no, otra.
  #12 (permalink)  
Antiguo 01/03/2011, 11:22
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

Gracias por la ayuda heimish, pero estaba pensando hacerlo con un mod(x,y), pero segun el manual x e y deben ser enteros, asi q no se puede.
Ta que sale, pero necesito mas que un empujonen la espalda, algo como un palazo en la nuca. jajajaj.
  #13 (permalink)  
Antiguo 01/03/2011, 12:44
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Sumar dentro del select a un campo

Sin una sql de por medio y una explicación de los resultados que quieres... poco se puede hacer.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #14 (permalink)  
Antiguo 01/03/2011, 18:30
Avatar de AlexDeLarge  
Fecha de Ingreso: diciembre-2003
Mensajes: 113
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Sumar dentro del select a un campo

Al fin, asi de facil era el asunto

SELECT rtrim(A1.name), SUM(A2.units)
FROM products A1, stockcurrent A2
WHERE A1.id = A2.product
GROUP BY rtrim(A1.name);

Con esto junto los nombres de los productos y sumo el stock.
Gracias a quienes dieron ideas.

Etiquetas: select, campos
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:49.