Newsgroup: it.comp.appl.access
Titolo: cosa non va in questa query

se la eseguo funziona correttamente, ma quando tento di salvarla access mi 
si imballa! non riesco a capire il perchč!?
grazie a coloro interverranno :)
SELECT  [Prodotti].Prodotto,Carico, Prodotti_venduti, 
Carico-Prodotti_venduti AS Giacenza
FROM
(SELECT [Prodotti].Prodotto, count([Clienti].Prodotto) AS Prodotti_Venduti, 
SUM([Prodotti].quantita) AS Carico
FROM Clienti, Prodotti
WHERE [Clienti].Prodotto=[Prodotti].Prodotto
GROUP BY [Prodotti].Prodotto);


as  tuatab
tanto per cominciare l'alias della tabella derivata
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

NON PENSO SIA QUESTO IL PROBLEMA SCUSA AS č UN ACRONICO A TUA SCELTA O NO!? 

 ha scritto nel messaggio 
news:44b27753$0$16931$4faf...@reader4.news.tin.it...

Sě č prorpio questo perchč il campo carico č ripetuto due volte: dunque 
manca l'alias (as appunto).
Ti si č bloccato il tasto maiuscolo?
Ciao, Carlo 

sorry volevo dire acronimo....sto cercando di capire... 


Se tu metti una select come tabella devi anche definire un alias
Select tuocampo from (select tuocampoB from tuabellaB) as TabC


 ha scritto nel messaggio 
news:44b27c73$0$3106$4faf...@reader1.news.tin.it...

L'acronimo č la contrazione di una parola in genere una sigla, le iniziali 
delle parole in una frase.
AS č una proposizione che serve a specificare gli alias.
Quando scrivi "Carico-Prodotti_venduti AS Giacenza" dici al motore sql di 
chiamare (alias) Giacenza il campo Carico-Prodotti_venduti.
Non č che hai disabilitato i messaggi di errore?
Ciao, Carlo 

il tutto va perfettamente, ma appena tento di salvare si imballa access!!! 

>il tutto va perfettamente, ma appena tento di salvare si imballa access!!!
A questo punto ci vuole Giorgio Rancati.
Speriamo che ci legge...
Ciao, Carlo 

 ha scritto nel messaggio 
news:44b2a0a3$0$10065$4faf...@reader3.news.tin.it...


 ha scritto nel messaggio
news:44b2608f$0$16943$4faf...@reader4.news.tin.it...

Ciao free,
prova a fare:
Strumenti-->Opzioni scheda generale, togli la spunta da Tieni traccia delle
informazioni di correzione (č deleteria quando si fanno queste query)
Poi, anche se Access ti assega un alias d'ufficio, io metterei l'alias della
tabella derivata
e userei la sintassi SQL92 per definire la join delle tabelle
----
SELECT  [Prodotti].Prodotto,Carico, Prodotti_venduti,
Carico-Prodotti_venduti AS Giacenza
FROM
(SELECT [Prodotti].Prodotto, count([Clienti].Prodotto) AS Prodotti_Venduti,
SUM([Prodotti].quantita) AS Carico
FROM Clienti INNER JOIN Prodotti
ON  [Clienti].Prodotto=[Prodotti].Prodotto
GROUP BY [Prodotti].Prodotto) AS DRV_TBL
----
in seconda analisi si potrebbe fare a meno della tabella derivata
----
SELECT [Prodotti].Prodotto,
       SUM([Prodotti].quantita) AS Carico,
       count([Clienti].Prodotto) AS Prodotti_Venduti,
       SUM([Prodotti].quantita)-count([Clienti].Prodotto) AS Giacenza
FROM Clienti INNER JOIN Prodotti
ON  [Clienti].Prodotto=[Prodotti].Prodotto
GROUP BY [Prodotti].Prodotto
---
Ciao
-- 
Giorgio Rancati
[Office Access MVP]

come sta, bo... grazie a tutti comunque :) 

alle prime armi e pian piano ci devo capire anch'io:) 

Query1 Prodotto Carico Prodotti_venduti Giacenza
      gel 30 3 27
      nessuno 0 1 -1
      shampoo 80 4 76
  Prodotti Prodotto Descrizione Quantita
      gel gelatina 10
      nessuno
     0
      shampoo shampo per capelli 20
 e si a vederlo bene č proprio un prodotto cartesiano cavolo :) e mo? 

grazie mille Giorgio anche la tua va bene, ma mi sono accorto che purtroppo
 >i valori determinati fanno una sorta di prodotto cartesiano anche qui! sto
 >alle prime armi e pian piano ci devo capire anch'io:)
prodotto cartesiano ?
e questo cosa c'entra con il problema originale  ?
Non sono entrato nel merito del calcolo anche se mi è sembrato molto strano
:-)
Forse è meglio che ci mostri un esempio di dati a disposizione e il
risultato che vuoi ottenere.


 ha scritto nel 
messaggio news:44b35ec7$0$991$5fc...@news.tiscali.it...

ok,  io ho una tabella [prodotti] dove carico i prodotti con il campo 
quantita es.20
poi da un'altra tabella [clienti] inserisco nel campo prodotto il nome del 
prodotto venduto al cliente
fra i due campi è presente una realazione uno a molti
ora sommando la quantità dei prodotti in carico e calcolando quanti ne sono 
stati venduti per ogni tipo riesco ad ottenere (facendo la differenza ) la 
singola  giacenza di ogni prodotto. Spero di essere stato chiaro Grazie! 

 singola  giacenza di ogni prodotto. Spero di essere stato chiaro Grazie!
ok quello che ottieni è il risultato normale di una query con due tabelle in
join, i dati della tabella prodotti vengono ripetuti tante volte quanti sono
i record corrispondenti della tabella Clienti.
per ottenere quello che desideri fai così.
----
SELECT Prodotti.Prodotto,
       Quantita AS Carico,
       Prodotti_Venduti,
       Quantita-Prodotti_Venduti AS Giacenza
From   Prodotti
   INNER JOIN
       (Select Prodotto,
               Count(Prodotto) AS Prodotti_Venduti
        From Clienti
       Group By Prodotto) AS CliProd
   ON Prodotti.Prodotto=CliProd.Prodotto
----


GRANDE GIORGIO ! ora me la studio perň :) grazie mille va alla grande :) 

 >GRANDE GIORGIO ! ora me la studio perň :) grazie mille va alla grande :)
be, č piů semplice da capire della tua :-)
tu fai conto di prendere la tabella derivata
----
Select Prodotto,
          Count(Prodotto) AS Prodotti_Venduti
From Clienti
Group By Prodotto
----
e di salvarla in una query dandogli il nome CliProd
poi costruisci la query principale con una banale join tra la tabella
prodotti e la query CliProd
----
SELECT Prodotti.Prodotto,
       Quantita AS Carico,
       Prodotti_Venduti,
       Quantita-Prodotti_Venduti AS Giacenza
From   Prodotti INNER JOIN CliProd
   ON Prodotti.Prodotto=CliProd.Prodotto
----
ottieni lo stesso risultato, solo che non č tutto in una query.


 tu fai conto di prendere la tabella derivata...
cut
Veramente con il cucchiaino! Complimenti.
Ciao, Carlo 

> be, è più semplice da capire della tua :-)


 incontrando su questi NG è davvero eccezionale!



Ovviamente anche nel mio.
Alla cisa2 abbiamo veramente avuto modo di apprezzare la semplicità e la 
preparazione di Giorgio.
Che ti devo dire, mi ritengo fortunato di aver conosciuto Giorgio Rancati.
Ciao, Carlo 

 incontrando su questi NG è davvero eccezionale!
cut
Prego, figurati. Io mi sono dovuto fermare e lasciare il passo a Giorgio 
che, come hai visto, non solo ti ha risolto il problema ma ce lo ha spiegato 
veramente con il cucchiaino.
Hai capito che il complimento era per Giorgio, vero?
Ciao, Carlo 

certo certo ho capito .) 

 Che ti devo dire, mi ritengo fortunato di aver conosciuto Giorgio Rancati.
ed io sono molto onorato di aver conosciuto te e gli altri partecipanti
:-)
