Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2011, 21:02
unendlish
 
Fecha de Ingreso: abril-2011
Ubicación: Manizales
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
SUM en postgres + datos duplicados

Buenas noches, resulta que hice una consulta en postgres para hallar los códigos de cada a.id, en ocasiones el código se repite 3 a 120 veces, lo que necesito es sumar por cada código los dep.valor que tiene cada uno por separado, osea el código 0201 tiene 120 registros en la tabla por lo tanto tiene por cada registro un valor en dep.valor, pero al sumarlo por cada registro suma 4 veces dando un valor exagerado, no he podido solucionar esto, he mirado la consulta y esta bien planteada pero el sum siempre suma 4 veces por cada registro del código encontrado, alguien sabe como hacer que no sume 4 veces cada registro o alguna otra forma de sumar los valores encontrados por el mismo código?.

Mil Gracias

PD> anexo la consulta.

------------------------------
codigo | valor | suma |
------------------------------
0201 | 2 | 8 |
------------------------------
0201 | 6 | 24 |
------------------------------
total por ese codigo ====> 32 cuando deberia ser ====> 8 el total de la suma
SELECT
a.id,
x1.nombre,
dep.valor,
SUM(dep.valor) as sumvalor
FROM
dep

inner join z on dep.aid = z.aid
inner join compra on compra.compraid = z.aid
inner join a on a.id = z.aid
inner join ax x1 on x1.xid = a.xid
left join ax x2 on x2.xid = a.xcid

WHERE
dep.num = (SELECT mesesdiferencia(compra.fecha, '2011-05-31'))
AND
z.zid NOT IN
(
SELECT
zid
FROM
mov
WHERE
mov.causamov = 'ZD'

AND fecha = '2011-05-31'
)

GROUP BY
a.id,
x1.nombre,
dep.valor

ORDER BY
aux1.auxiliarid