Hola,
tengo las siguientes 3 tablas con los siguientes datos:
Código:
DEPOSITOS
---------------------
cantidad | moneda
----------------------
1000 1
2000 2
2000 1
500 2
----------------------
EXTRACCIONES
---------------------
cantidad | moneda
----------------------
500 1
1000 2
500 1
500 2
----------------------
MONEDAS
---------------------
id | nombre
----------------------
1 pesos
2 euros
----------------------
y necesito una consulta que me devuela la sumatoria de la canitdad de depositos y la sumatoria de la cantidad de extracciones agrupadas por moneda.
osea:
Código:
RESULTADO
-----------------------------------
depositado | extraido | moneda
-----------------------------------
3000 1000 pesos
2500 1500 euros
-----------------------------------
Yo llegue a la siguiente consulta:
Código:
SELECT
SUM(d.cantidad) AS depositado, SUM(e.cantidad) AS extraido, m.nombre
FROM depositos d
LEFT JOIN extracciones e ON e.moneda = d.moneda
LEFT JOIN monedas m ON d.moneda = m.idmoneda
GROUP BY d.moneda
Que me devuelve el numero correcto de "extraido" y la "moneda" pero me suma nuevamente la sumatoria de "depositado" X veces como registros de extracciones haya en esa moneda (en este caso, al haber dos extraccxiones de cada moneda me devuelve el doble de la sumatoria... 6000 pesos y 5000 euros).
La verdad es que SQL no es mi fuerte, asi que me doy por vencido y acudo a los que realmente saben, para ver si alguien me da una mano con esto que no parecia tan complicado al principio...
Saludos