Newsgroup: it.comp.appl.access
Titolo: aiuto query

ciao a tutti, scrivo perchè ormai sono alla frutta su una questione forse anche sempli. in breve: ho una tabella chiamata Gestione fatta nel modo seguente:
 
idgestione (contatore)
idmacchina
data
ora
valore
 
ho la necessità di stampare un report nel modo seguente:
 
idmacchina valore1 valore2 valore3 valore4 data
 
 
dove i campi valore1,2,3,4 sono nella tabella su righe diverse e corrispondono ai valori misurati in determinate ore(che quindi dovrebbero fungere da parametri)
 
un esempio di come dovrebbe essere la stampa è il seguente:
 
idmacchina valore1 valore2 valore3 valore4 data
1            1        12      21      8    010112
2            8         4       2      12   020112
 
qualcuno ha qualche suggerimento? grazie in anticipo a chi mi risponderà :)
 
 
 

 ha scritto:

TRANSFORM First(valore) AS PrimoDivalore
SELECT idmacchina, data, Sum(valore) AS Tot
FROM TuaTabella
GROUP BY idmacchina, data
PIVOT "Valore" & [idgestione];
 
cambia "TuaTabella" con il nome della tua vera tabella e vedi se ti piace...
 
-- 
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.
 
Lontani anni luce da un'omuncolo del genere... l'antitesi
dell'equilibrio, la
fioritura dell'inadeguatezza, lo splendore
dell'impreparazione, l'abnegazione
dell'arroganza, la sublimazione della tuttologia,
l'amplificazione
dell'inconsistenza, l'esasperazione della demagogia,
l'eplosione della
melodrammaticità. Una soubrette pettegola e parrucchiera,
quello al massimo e'.
 

 quello al massimo e&#39;.
 
ciao,grazie per la risposta ma purtroppo non funziona, esce uno strano errore (Troppe intestazioni di colonne a campi incrociati)

 ciao,grazie per la risposta ma purtroppo non funziona, esce uno strano
errore (Troppe intestazioni di colonne a campi incrociati)
 
il campo intestazione colonna l'ho impostato frettolosamente sull'ID in
effetti... in questo modo avresti n' colonne quanti sono i records e non e'
il caso...
per avere il risultato che vuoi come intestazione colonna, potresti
aggiungere un altro campo alla tabella "cmp_TipoVal" (numerico) in cui
inserire, per quel record, se trattasi del primo, secondo, terzo, ecc...
valore (oppure crearti qualche query che te lo calcoli in autonomia senza
aggiungere nulla). Es.
 
idgestione	idmacchina	data	ora	valore	cmp_TipoVal
1	1	01/01/12	10:05:00	1	1
2	1	01/01/12	10:10:00	58	2
3	2	01/01/12	11:30:00	15	1
4	2	01/01/12	15:30:00	5	2
5	2	01/01/12	10:00:00	12	3
6	2	15/01/12	10:00:00	12	1
 
usando questa, potrai fare avere il risultato che cerchi.
 
TRANSFORM First(valore) AS PrimoDivalore
SELECT idmacchina, data, First(valore) AS [Totale di valore]
FROM Tabella1
GROUP BY idmacchina, data
PIVOT "Valore" & [cmp_TipoVal];
 
 
-- 
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.
 
Lontani anni luce da un'omuncolo del genere... l'antitesi
dell'equilibrio, la
fioritura dell'inadeguatezza, lo splendore
dell'impreparazione, l'abnegazione
dell'arroganza, la sublimazione della tuttologia,
l'amplificazione
dell'inconsistenza, l'esasperazione della demagogia,
l'eplosione della
melodrammaticità. Una soubrette pettegola e parrucchiera,
quello al massimo e'.
 


ciao grazie di nuovo ma nel frattempo ho risolto. posto la soluzione sperando che possa essere utile ad altri
 
 
SELECT [Gestione].[Idmacchina], [Gestione].[Data], [Gestione].[Valore], Gestione_1.[Valore], Gestione_2.[Valore], Gestione_3.[Valore]
FROM Gestione, Gestione AS Gestione_1, Gestione AS Gestione_2, Gestione AS Gestione_3
WHERE [gestione].[ora]="10:00" And gestione_1.ora="12:00" And gestione_2.ora="14:00" And gestione_3.ora="16:00" And [gestione].[Idmacchina]=gestione_1.Idmacchina And [gestione].[Idmacchina]=gestione_2.Idmacchina And [gestione].[Idmacchina]=gestione_3.Idmacchina 
and gestione.data=gestione_1.data and gestione.data=gestione_2.data and gestione.data=gestione_3.data;