Newsgroup: it.comp.appl.access
Titolo: Più SQL che Access

Ma siccome sto lavorando in Access tento di chiedere a voi! :-)
Premetto che è una domanda frutto essenzialmente della mia ignoranza in
fatto i SQL e non di un problema Access.
Se qualcuno vorrà aiutarmi gli sarò grata eternamente.
La prima query,assai banale, estrae le quantità ordinate per ogni articolo
in un certo ordine.
CODICE QUERY A:
SELECT ordini.codord, righe.codprod, righe.qtord
FROM ordini INNER JOIN righe ON ordini.codord = righe.codord
GROUP BY ordini.codord, righe.codprod, righe.qtord;
RISULTATO QUERY A:
NUM.ORD.    CODART    QTAORD
33178            210071            2
33178            610080            2
33178            610161            2
33178            610201            15
e fin qui tutto bene!
La seconda query,altrettanto banale,estrae dalla tabella carichi il codice
articolo,il numero ordine,la qta ricevuta,la ddt
CODICE QUERY B
SELECT M_Carichi.[Codice Articolo], M_Carichi.[Numero Ordine],
M_Carichi.[Qta ricevuta], M_Carichi.[Numero DdT]
FROM M_Carichi
GROUP BY M_Carichi.[Codice Articolo], M_Carichi.[Numero Ordine],
M_Carichi.[Qta ricevuta], M_Carichi.[Numero DdT];
RISULTATO QUERY B:
CODART    NUMORD    QTARICEVUTA    NUMDDT
210071        33178              2                              1
610080        33178              2                              1
610161        33178              2                              1
610201        33178              5                              2
610201        33178              7                              1
e anche questo tutto ok.
La terza query esegue la somma delle quantità ricevute a parità di numero
ordine e codice articolo
CODICE QUERY C
SELECT DISTINCTROW [M_Carichi].[Numero Ordine], [M_Carichi].[Codice
Articolo], Sum([M_Carichi].[Qta ricevuta]) AS [Somma Di Qta ricevuta]
FROM M_Carichi
GROUP BY [M_Carichi].[Numero Ordine], [M_Carichi].[Codice Articolo];
RISULTATO QUERY C:
NUMORD    CODART        SOMMAQTARICEVURA
33178          210071             2,00
33178          610080             2,00
33178          610161             2,00
33178          610201             12,00
e anche questo tutto ok
Ora,nella quarta e ultima query sorge il problema.
Vorrei visualizzare i dati in questa forma:
NUMORD    CODART        QTAORD            NUMDDT
SOMMAQTARICEVURA
33178          210071                      2                       1
2,00
33178          610080                      2                       1
2,00
33178          610161                      2                       1
2,00
33178          610201                      5                       2
12,00
33178          610201                      7                       1
12,00
Il problema è nella visuallizzazione della SOMMAQTARICEVUTA: non riesco a
visualizzarla in questo modo!
Qualcuno ha idea di come fare?
Grazie anticipatamente a chiunque vorrà/potrà aiutarmi.

 ha scritto nel
messaggio
news:c3ucss$7kf$1...@newsreader.mailgate.org...

Setta raggruppamento nel campo qtaord e somma in
SommaQtaRicevuta
MAssimiliano

 MAssimiliano
Se faccio come dici tu,(avevo già provato)mi da un risultato completamente
sbagliato.
Se invece raggruppo tutto,come da query qui sotto riportata,mi duplica i
valori dandomi questo output:
codord     codprod     qtord     Qta ricevuta         Numero DdT     Somma
Di Qta ricevuta
33178     210071         2             2                           1
2
33178     210071         2             2                           1
12
33178     610080         2             2                           1
2
33178     610080         2             2                           1
12
33178     610161         2             2                           1
2
33178     610161         2             2                           1
12
33178     610201         15           5                           2
2
33178     610201         15           5                           2
12
33178     610201         15           7                           1
2
33178     610201         15           7                           1
12
SELECT Magazzino_1.codord, Magazzino_1.codprod, Magazzino_1.qtord,
Magazzino_2.[Qta ricevuta], Magazzino_2.[Numero DdT], M_SommaCarichi.[Somma
Di Qta ricevuta]
FROM Magazzino_1 INNER JOIN Magazzino_2 ON (Magazzino_1.codprod =
Magazzino_2.[Codice Articolo]) AND (Magazzino_1.codord = Magazzino_2.[Numero
Ordine]), M_SommaCarichi INNER JOIN (Magazzino_1 AS Magazzino_1_1 INNER JOIN
Magazzino_2 AS Magazzino_2_1 ON (Magazzino_1_1.codord =
Magazzino_2_1.[Numero Ordine]) AND (Magazzino_1_1.codprod =
Magazzino_2_1.[Codice Articolo])) ON (M_SommaCarichi.[Codice Articolo] =
Magazzino_1_1.codprod) AND (M_SommaCarichi.[Numero Ordine] =
Magazzino_1_1.codord)
GROUP BY Magazzino_1.codord, Magazzino_1.codprod, Magazzino_1.qtord,
Magazzino_2.[Qta ricevuta], Magazzino_2.[Numero DdT], M_SommaCarichi.[Somma
Di Qta ricevuta];

 ha scritto nel
messaggio
news:c3uf8b$bh3$1...@newsreader.mailgate.org...

Allora fai così ti crei il campo Pippo
Pippo:(select sum([qta ricevuta] from tuatabella
where codprod = codord)
MAssimiliano

 MAssimiliano
Confesso di non aver ben capito quello che intendevi.
Probabilmente colpa della mia inesperienza.
Ad ogni modo ho risolto!
Per tua informazione(visto che sei stato cosě gentile da aiutarmi) la query
definitiva:
SELECT Magazzino_1.codord, Magazzino_1.codprod, Magazzino_1.qtord,
Magazzino_2.[Qta ricevuta], Magazzino_2.[Numero DdT], M_SommaCarichi.[Somma
Di Qta ricevuta]
FROM M_SommaCarichi AS M_SommaCarichi_1, Magazzino_1 INNER JOIN Magazzino_2
ON (Magazzino_1.codprod = Magazzino_2.[Codice Articolo]) AND
(Magazzino_1.codord = Magazzino_2.[Numero Ordine]), M_SommaCarichi INNER
JOIN (Magazzino_1 AS Magazzino_1_1 INNER JOIN Magazzino_2 AS Magazzino_2_1
ON (Magazzino_1_1.codord = Magazzino_2_1.[Numero Ordine]) AND
(Magazzino_1_1.codprod = Magazzino_2_1.[Codice Articolo])) ON
(M_SommaCarichi.[Codice Articolo] = Magazzino_1_1.codprod) AND
(M_SommaCarichi.[Numero Ordine] = Magazzino_1_1.codord)
WHERE (([Magazzino_1]![codord]=[M_SommaCarichi]![Numero Ordine] And
[Magazzino_1]![codprod]=[M_SommaCarichi]![Codice Articolo]))
GROUP BY Magazzino_1.codord, Magazzino_1.codprod, Magazzino_1.qtord,
Magazzino_2.[Qta ricevuta], Magazzino_2.[Numero DdT], M_SommaCarichi.[Somma
Di Qta ricevuta];
Grazie ancora tantissime! :-)