|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Interrogazione SQL in Access aiuto !!!!!!
Salve , ho realizzato in access un piccolo database per la gestione delle giacenze di un magazzino ..... vi elenco velocemente le tabelle realizzate :
articoli (contiene gli articoli possibili per il magazzino) entrate (sarebbero gli articoli con numero pezzi che vengono depositati in magazzino) trasferimenti (contiene gli ordini di trasferimento della merce; chiaramente ogni ordine potrà trasferire più di un articolo e quindi ne sarà indicata la quantità; ciè che l'ordine trasferisce è elencato nella teballe successiva ) articoli_trasferiti (articoli trasferiti in ciascun ordine di trasferimento ) Ora la query che voglio realizzare e che penso si possa fare solo con le stored procedure è la seguente . Per calcolarmi le giacenze di magazzino dovrei sommare il numero di pezzi di ciascun articolo raggruppando per il codice articolo e sottraendo a questo valore il numero di articoli trasferiti ) Come diavolo imposto questa query ?????? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Select A.IDArticolo, entr - usc As giacenza
From [Select IDArticolo, Sum(quantita) as entr FROM entrate GROUP BY IDArticolo]. As A, [Select IDArticolo, Sum(quantita) as entr FROM articoli_trasferiti GROUP BY IDArticolo]. As B Where A.IDArticolo = B.IDArticolo; |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Quote:
------------------------------------------------------------------------------------ Era da tempo che nn ti sentivo ..... come va con l'università ???? Lo sai che per me sei un esempio cionci e quindi mi sono iscritto alla stessa tua facoltà .... Ho dato purtroppo soltanto due esami su quattro ..... elementi di informatica (30/30) e Analisi I (27/30) . Che incazzatura con analisi .... ho preso 30 allo scritto e poi all'orale mi ha interrogato una prof rompiscatole |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ehm..lasciamo perdere l'università
Bene...dai...impegnati !!! Sono contento che tu ti sia iscritto a ing. informatica... Le prime materie sono toste |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Ho utilizzato la query soltanto che ho questo problema . Giustamente se un prodotto viene scaricato in magazzino e mai prelevato (cioè mai trasferito) nella query delle giacenze nn mi viene visualizzato siccome nella tabella B da te creata nn esisterebbe quell'articolo . Io voglio però che cmq venga visualizzato ..... come faccio ?
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Select A.IDArticolo, entr - usc As giacenza
From [Select IDArticolo, Sum(quantita) as entr FROM entrate GROUP BY IDArticolo]. As A LEFT JOIN [Select IDArticolo, Sum(quantita) as usc FROM articoli_trasferiti GROUP BY IDArticolo]. As B ON A.IDArticolo = B.IDArticolo; Spero che questa sintassi vada bene per access... Prova e fammi sapere... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Allora la sintassi Access l'accetta soltanto che quando un prodotto nn viene prelevato e quindi solo scaricato nn mi visualizza la giacenza che dovrebbe essere (entr-0) . Altra cosa ... nn è che mi spiegheresti un pò questa query ?
Una left join tra due tabelle permette di prendere tutte le righe di quella di sinistra anche se nn ci sono valori uguali per attributi comuni giusto ? Quell'on che fa ? |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
on A.IDArticolo = B.IDArticolo è come dire quando A.IDArticolo è uguale a B.IDArticolo
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Riguardo all "ON" mi sono documentato .... In effetti quando una usa INNER JOIN O LEFT JOIN O RIGHT JOIN è proprio la sintassi che prevede l'"ON" . Resta però il secondo problema ....
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
si per le join la sintassi prevede on, l'uguale lo usi dopo... left join tab1 on tab1.col1=tab2.col1 Per il tuo problema mi spiace ma ora non ho tempo... appena posso ci do un'occhiata
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Select A.IDArticolo, entr - usc As giacenza
From [Select IDArticolo, Sum(quantita) as usc FROM articoli_trasferiti GROUP BY IDArticolo]. As B LEFT JOIN [Select IDArticolo, Sum(quantita) as entr FROM entrate GROUP BY IDArticolo]. As A ON A.IDArticolo = B.IDArticolo; Ho invertito le tabelle Non se su usc ci vuole un IIF che dica se è usc è null allora bisogna riotarnare solo entr... Comunque prova |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
nulla da fare cionci .... invertendo le tabelle nn mi visualizza gli articoli che nn sono presenti nella tabella articoli_trasferiti
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:46.



















