Tengo problemas con una consulta, a ver si alguien me puede ayudar
Tengo 2 tablas, una de Movimientos de stock y otra de TipoDeMovimiento
Mov stock: articulo, deposito, fecha, tipoMov
TipoDeMovimiento: id, signo
Si ejecuto lo siguiente:
Código SQL:
ObtengoVer original
SELECT sd.articulo, sd.mdeposito, (SELECT SM.signo FROM tipomovimiento SM WHERE SM.id=SD.tipomovimiento) AS Signo, (SELECT sd.cantidad * (SELECT SM.signo FROM tipomovimiento SM WHERE SM.id=SD.tipomovimiento)) AS CantidadMultiplicada FROM movimientostock sd WHERE sd.articulo=51 AND sd.deposito=17 AND YEAR(sd.fecha)=2013 AND MONTH(sd.fecha)=1 GROUP BY sd.articulo, sd.deposito, YEAR(sd.fecha), MONTH(sd.fecha), sd.tipomovimiento, sd.cantidad
Arti Depo Signo CantidadMultiplicada (ya traigo multiplicada por su factor digamos, tal vez no sirve de nada igual esto que hago y es mas util case)
51 17 1 2.00
51 17 1 1.00
51 17 -1 -1.00
Querria obtener UN UNICO REGISTRO asi
51 17 1 2.00 (pues es 2+1-1)
La idea seria agrupar cantidades de un deposito de un articulo POR MES y TENIENDO EN CUENTA el movimiento que tuvo (algunas cantidades se sumarian en el sum con un *1 y otras con un *-1)
Es con sum pero no entiendo como hacerlo.
Resumiendo
Si tengo
Articulo Depo Cant Mes (signo en la otra tabla)
1 1 10 3 -1
1 1 15 3 -1
1 1 20 4 1
1 2 15 6 1
2 2 12 6 1
2 3 12 7 1
2 3 15 7 -1
Quiero algo que me devuelva
Articulo Depo Cantidad Mes
1 1 -25 3 ----- pues hace -10 -15 = -25
1 1 20 4
1 2 15 6
2 2 12 6
2 3 '-3 7 ----- pues hace 12 - 15 = -3
GRACIAS!