Buon giorno, ho un semplice DB Access con 3 tabelle.
La gestione è un classico carico/scarico merci.
Il db è ancora in fase embrionale, sto sviluppando query di controllo e di supporto per il futuro.
Le tabelle sono:
tbCarico,tbScarico e tbProdotto dove le prime 2 sono legate a tbProdotto in una relazione 1 ad N
1 prodotto --> N carichi
N scarichi
Ho tre varianti della stessa query , ma solo una mi da i valori giusti
1. Somme calcolate male
codice:Select CARICO,SCARICO from ( SELECT Sum(tbCarico.QUANTITA_CARICO) AS CARICO, Sum(tbScarico.QUANTITA_SCARICO) AS SCARICO FROM (tbProdotto INNER JOIN tbCarico ON tbProdotto.COD_PRODOTTO = tbCarico.COD_PRODOTTO) INNER JOIN tbScarico ON tbProdotto.COD_PRODOTTO = tbScarico.COD_PRODOTTO where (tbProdotto.COD_PRODOTTO = tbScarico.COD_PRODOTTO AND tbProdotto.COD_PRODOTTO = tbCarico.COD_PRODOTTO) )
2. Somme calcolate male
codice:SELECT Sum(tbCarico.QUANTITA_CARICO) AS TOT_QUANTITA_CARICO, Sum(tbScarico.QUANTITA_SCARICO) AS TOT_QUANTITA_SCARICO, tbProdotto.DESCRIZIONE FROM (tbProdotto INNER JOIN tbCarico ON tbProdotto.COD_PRODOTTO = tbCarico.COD_PRODOTTO) INNER JOIN tbScarico ON tbProdotto.COD_PRODOTTO = tbScarico.COD_PRODOTTO GROUP BY tbProdotto.DESCRIZIONE ORDER BY tbProdotto.DESCRIZIONE;
3. UNION. Somme giuste ma vorrei che fosse un solo record con 2 colonne riportanti le somme
codice:SELECT Sum(C.QUANTITA_CARICO) AS SumOfQUANTITA_CARICO, P.DESCRIZIONE FROM tbProdotto AS P INNER JOIN tbCarico AS C ON P.COD_PRODOTTO = C.COD_PRODOTTO GROUP BY P.DESCRIZIONE; UNION SELECT Sum(S.QUANTITA_SCARICO) AS SumOfQUANTITA_SCARICO, P2.DESCRIZIONE FROM (tbProdotto AS P2 INNER JOIN tbScarico AS S ON P2.COD_PRODOTTO = S.COD_PRODOTTO) GROUP BY P2.DESCRIZIONE;
Dove sbaglio nelle prime 2 ? come posso invece modificare la terza query per avere un solo record ?
Grazie in anticipo

Rispondi quotando