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:
risultato SUM dell'articolo diriferimento = 11180 --->OKcodice:SELECT codice, SUM(disponibilita) FROM magazzino GROUP BY magazzino.codice
se eseguo questa query:
risultato SUM dell'articolo di riferimento = 20717 -->OKcodice:SELECT codice_barre, SUM(disponibilita) FROM bancali WHERE bancali.bancale>"H" GROUP BY bancali.codice_barre
se li metto in una unica query con la terza tabella
il risultato del 2° SUM non è piu' 20717 ma 14409.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
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.

Rispondi quotando

