- Home
- Categorie
- Coding e Sistemistica
- PHP
- INNER JOIN tra 3 tabelle e SUM
-
INNER JOIN tra 3 tabelle e SUM
Ciao ragazzi,
vi chiedo un aiuto...Intanto prima di tutto vi indico la mia situazione semplificata:
tabella a
a.id
a.descrizionetabella b
b.id
b.id_a
b.quantitàtabella c
c.id
c.id_a
c.quantitàA me serve una query che mi dia come risultato la somma di b.quantità e c. quantità raggruppata per a.id
Io ho scritto questa query:
SELECT a.id, a.description, SUM(b.qta) AS QTA_IN, SUM(c.qta) AS QTA_OUT FROM (a INNER JOIN b ON a.id = b.id_a) INNER JOIN c ON a.id = c.id_a GROUP BY a.id
Il problema sta che nel caso abbia questi dati:
tabella a
tabella a
a.id = 1
a.descrizione = "casse di birra"tabella b
b.id[1] = 1
b.id_a[1] = 1
b.quantità[1] = 10
b.id[2] = 2
b.id_a[2] = 1
b.quantità[2] = 10tabella c
c.id[1] = 1
c.id_a[1] = 1
c.quantità[1] = 10il risultato sara:
1, casse di birra, 20, 20
e come potrete capire da soli i primi 3 campi sono esatti ma l'ultimo no...Come posso risolvere?
Per completezza vi dico che sto programmando in c# ma non è questo il problema al momento...
-
Ok ho ricevuto una dritta su di un altro forum comunque nel caso possa servire ad altri ecco la dritta:
SELECT a.* , qta_in , qta_out FROM a JOIN ( SELECT id_a,SUM(qta) qta_in FROM b GROUP BY id_a) x ON x.id_a = a.id JOIN ( SELECT id_a,SUM(qta) qta_out FROM c GROUP BY id_a) y ON y.id_a = a.id;
Ora il mio problema si è spostato proprio sul codice in c# ma nessun problema cercherò la soluzione...