Somma su diverse tabelle in MySQL
Sul mio db MySQL ho delle tabelle simili, sulle quali dovevo fare la somma.
Quindi una cosa del genere:
SELECT bcv_modello, SUM(bcv_qta) sum FROM bcv
WHERE bcv_codice IN(108491, 908491) AND bcv_causale IN(4020, 4022, 4005, 4030)
GROUP BY bcv_modello
Una query praticamente identica su un'altra tabella.
Come posso fare la somma del risultato delle due tabelle?
Ecco qua la risposta:
SELECT bcv_modello, SUM(sum) FROM (
SELECT bcv_modello, SUM(bcv_qta) sum FROM bcv
WHERE bcv_codice IN(108491, 908491) AND bcv_causale IN(4020, 4022, 4005, 4030)
GROUP BY bcv_modello
UNION ALL
SELECT bcv_modello, (SUM(bcv_qta) * -1) sum FROM bcv
WHERE bcv_codice IN(108491, 908491) AND bcv_causale IN(4025, 4027)
GROUP BY bcv_modello
ORDER BY bcv_modello
) res_table
GROUP BY bcv_modello
ORDER BY bcv_modello
Nella seconda SELECT ho anche moltiplicato per meno uno; questo perchè, nel mio caso specifico, dovevo fare SELECT_1 - SELECT_2.
Se non dovete fare la sottrazione, ma una addizione, basterà levare la moltiplicazione.
Enjoy!
database mysql sum select
Commentami!