Newsgroup: it.comp.appl.access
Titolo: Mostrare i risultati giorno per giorno, anche se ho tutto in una tabella

Buongiorno,
capisco che l'oggetto non č proprio chiarissimo, ma in poche parole
non si spiega bene.
ho una tabella siffatta (si chiama "StoricoConnessioni"):
IdConnessione   Numerico
CodeID          Testo
SN              Testo
IdLocale        Numerico
TotIn           Numerico
TotOut          Numerico
DataConn        Data/ora
in un'altra tabella ("Locali") contiene, tra gli altri,
IdLocale
NomeLocale
Ho poi una tabella "SchedeGioco" (legata 1:M con TipiGioco per
IDTipiGioco) con la seguente struttura:
CODEID
SN
IdLocale
IDTipoGioco
ed infine la tabella "TipiGioco" con
IDTipogioco
Descrizione
Devo mostrare, per ogni Locale, i le descrizioni dei giochi che esso
ha, il valore di TotIn per ogni giorno dell'ultima settimana. In
pratica una cosa di questo genere:
LOCALE - GIOCO - totIn lunedě - totIn martedě - totIn mercoledě ...
Non ho la piů pallida idea di come strutturare una query per fare una
cosa del genere, ed ho idea che sia un processo lungo.
Qualcuno s'č trovato di fronte ad un problema simile o puň comunque
darmi delle indicazioni per uscire dall'empasse?
Grazie,
Alessio

 
Il testo dell'sql è:
SELECT Locali.NomeLocale, TipiGioco.Descrizione, Sum
(StoricoConnessioni.TotIn) AS SommaDiTotIn, Weekday([DataConn]) AS Espr1
FROM (SchedeGioco INNER JOIN (Locali INNER JOIN StoricoConnessioni ON 
Locali.IdLocale = StoricoConnessioni.IdLocale) ON SchedeGioco.SN = 
StoricoConnessioni.SN) INNER JOIN TipiGioco ON SchedeGioco.IdTipoGioco = 
TipiGioco.IdTipogioco
GROUP BY Locali.NomeLocale, TipiGioco.Descrizione, Weekday([DataConn])
ORDER BY Locali.NomeLocale, Weekday([DataConn]);
Permettimi di dirti però che le tabelle sono da normalizzare, perché 
presentano delle eccessive ridondanze :o(
Ciauz 
--
'gnurant come una cucuzza
Inviato da 
www.mynewsgate.net

Dimenticavo...la funzione Weekday ti dà 1 per la domenica, 2 per lunedì e 
così via


 presentano delle eccessive ridondanze :o(
Grazie, prima di tutto! :)
Hai ragione sulla normalizzazione delle tabelle.
In mattinata ho cambiato la struttura di alcune di esse per arrivare a
qualcosa di "migliore".
Adesso sto terminando un'altra parte, ma credo che già domani potrò
provare a fare una query che mi permetta d'ottenere quel che voglio,
anche grazie alle tue indicazioni.
Se eventualmente non riuscirò, mi rifarò vivo, mio malgrado!
Ciao,
Alessio

 così via
Ho modificato la struttura delle tabelle, che di seguito riporto;
prima però vorrei capire come mai hai inserito la funzione Weekday nel
codice SQL: è una funzione di VBA, quindi come fa ad essere
riconosciuta ed a funzionare in SQL?
togliendola ottengo una tabella di risposta che mostra sì il totale
degli incassi di ogni Gioco per ogni giorno, ma non esattamente come
voglio io, perché i giorni fanno parte dei record, mentre ho la
necessità di vederli come colonne.
A me serve avere le seguenti COLONNE:
Locale, Gioco, TotGiorno1,TotGiorno2....TotGiorno7
Mi pare di aver letto qualcosa, alcuni mesi fa, sulla possibilità di
fare una cosa del genere, ma non ritrovo la risorsa.
Come posso fare?
La struttura attuale delle tabelle è cambiata in questo modo:
tabella "StoricoConnessioni"): 
-------------------------
IdStorico       Contatore
IdConnessione   Numerico
CodeID          Testo
TotIn           Numerico
TotOut          Numerico
tabella "Connessioni" (legame 1:M con la StoricoConnessioni)
-----------------------------------------
IdConnessione   Contatore
IdLocale        numerico
Data            data
SN              testo
Esito           testo
tabella "Locali"
---------------
IdLocale
NomeLocale
tabella "SchedeGioco" (legata 1:M con TipiGioco per
IDTipiGioco) con la seguente struttura:
CODEID
SN
IdLocale
IDTipoGioco
tabella "TipiGioco" con
-----------------------
IDTipogioco
Descrizione
Per avere il risultato ho creato due query:
_TotIncassoPerGiorno, il cui codice è:
SELECT Sum(StoricoConnessioni.CnTotIn) AS Tot_Incasso_Giorno,
Connessioni.Data, StoricoConnessioni.CodeID, LOCALI.Locale,
Connessioni.IdLocale
FROM (Connessioni INNER JOIN LOCALI ON Connessioni.IdLocale =
LOCALI.IDLocale) INNER JOIN StoricoConnessioni ON
Connessioni.IdConnessione = StoricoConnessioni.IdConnessione
GROUP BY Connessioni.Data, StoricoConnessioni.CodeID, LOCALI.Locale,
Connessioni.IdLocale
ORDER BY Connessioni.Data;
e _TotIncassoPergiorno_B, che usa la precedente, il cui codice è:
SELECT [_TotIncassoPerGiorno].*, TipoGiochi.Descrizione
FROM TipoGiochi RIGHT JOIN (_TotIncassoPerGiorno INNER JOIN
SchedeGioco ON [_TotIncassoPerGiorno].CodeID = SchedeGioco.CODEID) ON
TipoGiochi.IDTipoGioco = SchedeGioco.IDTipoGioco;
Come ho già detto, la modalità di visualizzazione che ottengo non è
quella che desidero, perché vorrei avere una colonna per ogni giorno
tra gli ultimi 7, e se in un giorno non sono state fatte
interrogazioni, (quindi non ci sono dati), avere semplicemente il
campo vuoto.
Posso fare con SQL o devo scrivere anche qualche riga di codice??
Grazie!
Alessio