Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
Creare Query complicata
Ultimo Post 27 gen 2010 08.56 by Panatronic. 5 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:537

--
26 gen 2010 11.59  
Buongiorno a tutti.
Da due giorni che sto cercando una soluzione il più semplice possibile. Ho un DB Access nel quale ho una tabella Articoli con l'anagrafica degli articoli, tre tabelle che sono: Bolle, Fatture e CarichiMagazzino con rispettive tabelle Testata e Tabelle Dettagli.
 Le tabelle Dettagli sia di bolle, fatture e carichi, hanno in relazione un campo "IDArticolo" con la tabella Articoli.
 Tramite queste tabelle devo sapere la situazione di magazzino in una data precisa;per esempio voglio sapere la situazione di Magazzino al 31/12/2009.

Quindi devo sapere la giacenza di magazzino per ogni articolo in data 31/12/2009.
 
Da dove comincio?
Grazie.

Posts:537

--
26 gen 2010 17.01  
Studiando bene il DB ho scoperto che la tabella FatturaDettagli contiene sia
i dettagli delle fatture dirette che quelle delle bolle (Bolle fatturate).

a questo punto mi faccio una select con tutti gli articoli dei dettagli.
la select l'ho fatta ma mi ritrovo vari articoli uguali, per esempio mi
ritrovo 200 Articoli "A50" con la sola differenza della quantità nel
dettaglio.

come faccio a raggruppare tutti gli articoli con la somma della quantità?
faccio un esempio:
la mia select ora mi da questo risultato:

IDArticolo Descrizione Quantita
122 Pile 12V 5
122 Pile 12V 30
122 Pile 12V 9
122 Pile 12V 8
125 Pile 9V 15
125 Pile 9V 52


io vorrei avere questo:
IDArticolo Descrizione Quantita
122 Pile 12V 52
125 Pile 9V 67


Grazie.

Posts:537

--
27 gen 2010 07.15  
Sto facendo in questo modo (anche sotto consiglio della bravissima Sabrina):
faccio tre Query select dei Carichi, scarichi, union e poi da quest'ultima seleziono e calcolo con una Quarta Query.

La prima funziona così:
SELECT M.IDArticolo, max(M.CodiceArticolo) AS CodiceArticolo, max(M.Descrizione) AS Descrizione, sum( M.Quantita) AS Qtacarico,
0 AS Qtascarico, Max(L.Prezzo) AS PREZZO
FROM MovimentiMagazzino_Dettagli As M
INNER JOIN ListiniPrezzi As L ON M.IDArticolo = L.IDarticolo
WHERE ((L.IDLISTINO)=2)
GROUP BY M.IDArticolo;

questa select però è incompleta. Mi serve avere la data del documento che è legato a questo dettaglio in modo di filtrare la data che mi serve (select fino alla data indicata). e quindi la riscrivo così:

SELECT M.IDArticolo, max(M.CodiceArticolo) AS CodiceArticolo, max(M.Descrizione) AS Descrizione, sum( M.Quantita) AS Qtacarico,
0 AS Qtascarico, Max(L.Prezzo) AS PREZZO, max(MM.DataDocumento) AS DD
FROM MovimentiMagazzino_Dettagli As M
INNER JOIN ListiniPrezzi As L ON M.IDArticolo = L.IDarticolo
inner Join MovimentiMagazzino as MM on M.IDMovimenti = MM.IDMovimenti
WHERE ((L.IDLISTINO)=2)
GROUP BY M.IDArticolo;

ma qui mi da un errore di operatore mancante dopo il primo Inner Join ( M.IDArticolo = L.IDarticolo
inner Join MovimentiMagazzino as MM on M.IDMovimenti = MM.IDMovimenti)

Posts:662

--
27 gen 2010 07.18  
Volendo fare un esempio con le tue tabelle, il codice per fare il raggruppamento dovrebbe essere il seguente:

SELECT FATTURADETTAGLI.IDARTICOLO, FATTURADETTAGLI.DESCRIZIONE, Sum(FATTURADETTAGLI.QUANTITA) AS Somma
FROM FATTURADETTAGLI
GROUP BY FATTURADETTAGLI.IDARTICOLO, FATTURADETTAGLI.DESCRIZIONE;

Francesco

Posts:537

--
27 gen 2010 07.23  
mi sa che ho capito. Giustamente se la data dei movimenti è sempre diversa..è un problema raggrupparlain un unico record come avviene per l'idArticolo.
Dovrei fare una prima select selezionado i record su cui fare questa query..ci provo.

Posts:537

--
27 gen 2010 08.56  
Risolto:
ho fatto in tutto 6 Query.
Query 1 = mi seleziona dati dalla tabella FattureDettagli filtrando solo quelli che mi servono in base alla data che gli passo come parametro
Query 2 = mi seleziona i dati dalla tabella MovimentiMagazzinoDettagli (qui vengono fatti solo i carichi) filtrando solo quelli che mi servono in base alla data che gli passo come parametro

Query 3 = in questa seleziono tutti i campi della query 1 creando un campo in più chiamata Carico e lo valorizzo a "0".
Query 4 = in questa seleziono tutti i campi della query 2 creando un campo in più chiamata Scarico e lo valorizzo a "0".
Query 5 = questa query unisce le due Query (3 e 4).
Query 6 = fa la select della query 5 facendo i calcoli tra campo Carico, Scarico e Prezzo.

alla fine ho il valore totale del magazzino e dettagliato per ogni articolo.
è stata dura.. ma con l'aiuto vostro e di Sabrina C. ...ci siamo riusciti.
Grazie.
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Assembly Strong Named
Firma digitale degli Assembly, uso e funzionalità
2007/08/05 | Autore: Sabrina Cosolo
Codedom Introduzione all'uso parte2
Costruire il generatore di codice
2009/11/07 | Autore: Sabrna Cosolo
Fritto misto - Classi di uso comune (parte 1)
Helper: Una classe per operare sulle stringhe
2007/10/20 | Autore: Sabrina Cosolo
ADO.NET Funzionalità di base
Effettuare una ricerca su recordset disconnessi tramite DataView
2007/12/02 | Autore: Andrea Zingoni
Introduzione a Windows Presentation Foundation (parte1)
La prima di una serie di traduzioni da articoli di MSDN o altre fonti che offrono un punto di partenza per iniziare a capire il WPF.
2007/07/29 | Autore: Patrizia Cosolo
Fritto Misto - Classi di uso comune(parte 3)
Helper: Due interfacce per implementare classi Entity
2007/10/22 | Autore: Sabrina Cosolo
Iniziare da Zero con WPF
Un occhiata al modello base del progetto Windows Application di WPF
2007/08/16 | Autore: Sabrina Cosolo
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (prima parte)
2007/11/22 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.