Newsgroup: it.comp.appl.access
Titolo: Query particolare...(per me..)

Salve,
ho tentato invano di realizzare una query che visualizzasse tutte le voci di
una tabella chiamata Prestazioni in relazione con un'altra tabella chiamata
Interventi
Queste sono le tabelle:
Prestazioni
IDPrestazione
Descrizione
Punti
Interventi
IDIntervento
IDPrestazione
Data
Zonacompetenza
ecc ecc...
La tabella Prestazioni comprende 15 voci e vorrei che, indipendentemente
dall'esistenza o meno di interventi per il codice-prestazione, visualizzasse
gli interventi raggruppati per data e per ogni Codice prestazione il numero
di interventi effettuati anche se il conteggio-interventi = 0... per cui
avrei:
---Record 1
10/10/03
prestazione1
30 (conteggio interventi..)
---
prestazione 2
50 (interventi..)
Prestazione 3
24 (interventi)
...
..
Prestazione 15 (ultima voce-prestazione)
40 (Interventi)
----Record 2
12/10/03
Prestazione1
20
Prestazione 2
30
Prestazione 3
50
....
Prestazione15
30
---Record 3
15/10/03
ecc ecc..
Spero di essere stato chiaro... e spero che qualcuno di voi dedichi un pò di
attenzione come già in altre occasioni è successo e, per questo, vi
ringrazio davvero tanto !

 ha scritto nel messaggio
news:VUMrb.107149$e6.38...@twister2.libero.it...

Prova così:
SELECT Prestazioni.IDPrestazione, Prestazioni.Descrizione, Interventi.Data,
Count(Interventi.IDPrestazione) AS N°
FROM Prestazioni LEFT JOIN Interventi ON Prestazioni.IDPrestazione =
Interventi.IDPrestazione
GROUP BY Prestazioni.IDPrestazione, Prestazioni.Descrizione,
Interventi.Data;

 ha scritto nel messaggio
news:boo6jq$a8b$1...@lacerta.tiscalinet.it...

No, ancora non è completa , manca ancora qualcosa...
per ogni data in cui si è eseguito un lavoro devo ottenere tutte le colonne
(le voci-prestazione) con il relativo conteggio delle lavorazioni:
10/10/02  Voce prestazione1 con conteggio, Voce prestazione2 con conteggio
ecc ecc fino a 15 colonne
12/10/02  Voce prestazione1 con conteggio, Voce prestazione2 con conteggio
ecc ecc fino a 15 colonne
14/10/02  Voce prestazione1 con conteggio, Voce prestazione2 con conteggio
ecc ecc fino a 15 colonne
...
non so come fare per far capire quello che vorrei ottenere... dovrebbe
essere una query a campi incrociati avente come riga la data  e come colonna
le 15 voci prestazioni, mentre il valore dovrebbe essere il conteggio dei
lavori eseguiti...
Boh.. vedi un pò se puoi darmi una mano..
Grazie

 ha scritto nel messaggio
news:W65sb.109699$e6.39...@twister2.libero.it...

Basta, come dici tu, eseguire una query a campi incrociati, basati sulla
query appena impostata, nella quale le prestazioni sono le colonne, le date
sono le righe ed il conteggio è il valore.
Puoi usare anche l'autocomposizione.
Ciao
Salvatore

 ha scritto nel messaggio
news:boqtc2$h1$1...@lacerta.tiscalinet.it...

Ma perchè mi visualizza una riga vuota, cioè senza data e con degli zeri
nelle colonne? è come se mettesse tutte le colonne con gli zeri in un
record..mah non so come spiegarti
..e poi con la riga vuota mi visualizza tutte le colonne (15) , appena
aggiungo una colonna per esempio per una selezione mensile dei record
ritorna a visualizzare solo le colonne con conteggio-interventi maggiore di
zero...cioè 11 colonne invece delle 15
non riesco proprio a risolvere il problema...
ancora qualche idea?
scusami
Ciao!
data, colonna1..15
data, colonna1..15
la data dovrebbe essere selezionata in base al mese e le colonne dovrebbero
visualizzare il numero di interventi fatti per quella data e cmq
visualizzare tutte le colonne-prestazioni anche con interventi = 0
per cui dovrei avere:
10/10/03 10 20 0 5 ... fino a 15 colonne (anche se lo zero non viene
visualizzato non fa niente... )
11/10/03 20 10 3 0 ... fino a 15 colonne ecc ecc
quindi mese di ottobre
per ogni data in cui e stato effettuato un intervento visualizzare tutte le
prestazione come colonne con il conteggio degli interventi ..
vedi un pò se puoi fare ancora qualcosa...
ti ringrazio cmq, sei stato molto gentile :)
Ciao e scusami ancora!

 Ciao e scusami ancora!
Allora, vediamo se riusciamo a cavarne qualcosa di buono.
1) mi sembra di capire che la prima query vada bene, mentre ci sono delle
difficoltà (o qualcosa che non quadra) nella query a campi incrociati.
2) nella query a campi incrociati opera in questo modo: carica i tre campi
che ti servono (prestazione, data e conteggio) dalla query precedente.
3) usa il campo data come intestazione di riga, il campo prestazione come
intestazione di colonna, il campo conteggio come valore
4) per il campo conteggio usa la funzione somma
5) nel criterio del campo data scrivi is not null
6) clicca col tasto destro sulla colonna della prestazione e scegli (dal
menu contestuale) "Proprietà"
7) sulla riga "intestazione colonne" scrivi, separate da un punto e virgola
e tra virgolette, le quindici prestazioni che vuoi far comparire,
nell'ordine con cui vuoi che vengano visualizzate. Ad esempio
"prima";"seconda";"terza".......;"quindicesima".
A questo punto dovresti vedere tutte e quindici le prestazioni e con i
relativi conteggi per data. (Ovviamente, se le prestazioni aumentano -cioè
diventano più di quindici- devi aggiungerle all'elenco..)
Se vuoi visualizzarle mese per mese, dovresti impostare il criterio del mese
nella query precedente.
Spero che sia tutto chiaro,
ciao
Salvatore