vengo subito al dunque: ho 2 magazzini (2 tabelle diverse) e devo sommare le disponibilità di ogni magazzino congiungendole ad una terza tabella che contiene i codici (codici). Le tabelle son queste e non ci posso fare niente...
se eseguo questa query:
codice:
SELECT codice, SUM(disponibilita) FROM magazzino GROUP BY magazzino.codice
risultato SUM dell'articolo diriferimento = 11180 --->OK
se eseguo questa query:
codice:
SELECT codice_barre, SUM(disponibilita) FROM bancali WHERE bancali.bancale>"H" GROUP BY bancali.codice_barre
risultato SUM dell'articolo di riferimento = 20717 -->OK
se li metto in una unica query con la terza tabella
codice:
SELECT c.codice, c.descrizione, b.codice_barre, SUM(DISTINCT m.disponibilita )mag_uno, SUM(DISTINCT b.disponibilita ) mag_due
FROM magazzino AS m
LEFT JOIN bancali AS b ON (b.bancale > "H")
INNER JOIN codici AS c ON (b.codice_barre = c.codice_barre) AND (c.codice = m.codice)
GROUP BY m.codice, b.codice_barre
il risultato del 2° SUM non è piu' 20717 ma 14409.
i dati del campo disponibilità della tabella interessata sono:
6308
6308
8101
il 14409 non è altro che 6308+8101 ... ma a me serve 6308+6308+8101= 20717
se tolgo il DISTINCT mi esce un numero esagerato...non so più che pesci pigliare...
grazie a chi mi può aiutare.