Subject: query per estrarre il max
From: AlessandroD
Date: 5/9/2007 11:39:45 AM
enzo wrote:
> Salve a tutti.
> ho questa query :
>
> SELECT SUM(METRI) AS M3 FROM Tbl_DATI_CICLO WHERE
>
> e dovrei estrarre il massimo di tutti i valori che ottengo.
> ES.
>
> 2909
> 2389
> 4590
>
>
> devo estrarre 4590
> Come posso strutturare la query?
>
Veramente la query che hai indicato tu restituisce solo 1 riga...
Sicuro che è scritta circa +- così?
Ciao, Alessandro
Subject: query per estrarre il max
From: AlessandroD
Date: 5/9/2007 1:50:43 PM
enzo wrote:
>
> scusate la query giusta è:
>
> SELECT SUM(MCSTARTATI) AS M3,datepart(Mm,data) FROM Tbl_DATI_CICLO
> WHERE Ritornato = 1 AND Tipo_Start = 'A' and datepart(Yy,data) =
> '" & metri & "' group by datepart(Mm,data)
>
Puoi usare quella select come se fosse una tabella derivata e poi sopra
questa tabella calcolare il valore massimo che ti serve.
Esempio:
select max (M3) as M3 from (
TuaQuery
) t
TuaQuery è la stringa che hai postato tu, praticamente "attorno" alla tua
query definisci un'altra select come nell'esempio che ti ho indicato.
Se trovi il tempo dai un occhio nella guida in linea di SQL Server (BOL)
cosa sono e a cosa servono le stored procedure.
Ciao, Alessandro
Subject: query per estrarre il max
From: AlessandroD
Date: 5/9/2007 2:31:08 PM
enzo wrote:
>> Esempio:
>>
>> select max (M3) as M3 from (
>> TuaQuery
>> ) t
>>
> ho provato ad inserire così:
>
> select max (M3) as M3 from (SELECT SUM(MCSTARTATI) AS M3,
> datepart(Mm,data) FROM Tbl_DATI_CICLO WHERE Ritornato = 1 AND
> Tipo_Start = 'A' and datepart(Yy,data) = '2007' group by
> datepart(Mm,data) )
>
> però mi da errore dicendo:
> Riga 1: sintassi non corretta in prossimità di ')'.
> come mai? Grazie
>
Guarda bene il mio esempio, ti manca un pezzettino.
Ciao, Alessandro
Subject: query per estrarre il max
From: AlessandroD
Date: 5/9/2007 2:44:50 PM
enzo wrote:
> hai ragione mancava la t, però ora mi da il seguente errore
>
> Per la colonna 2 di 't' non è stata specificata alcuna colonna.
>
La tabella derivata, quella rappresentata dalla tua select iniziale, deve
definire degli alias per tutti i campo che restituisce.
Nella tua select, così come hai definito per max(M3) l'alias M3 (quando fai
SUM(MCSTARTATI) AS M3), allo stesso modo devi definire un alias per
datepart(Mm,data) che è il secondo campo calcolato che la tua select
restituisce.
Ciao, Alessandro
Subject: query per estrarre il max
From: AlessandroD
Date: 5/9/2007 2:50:13 PM
AlessandroD wrote:
> [...]
>
Pardon, mi si sono incrociati i pensieri :-)
Rettifico se no non si capisce un tubo:
La tabella derivata, quella rappresentata dalla tua select iniziale, deve
definire degli alias per tutti i campo che restituisce.
Nella tua select, così come hai definito per sum(MCSTARTATI) l'alias M3
(quando fai
SUM(MCSTARTATI) AS M3), allo stesso modo devi definire un alias per
datepart(Mm,data) che è il secondo campo calcolato che la tua select
restituisce. Scegli tu che nome associare all'aliasi.
Ciao, Alessandro
Subject: query per estrarre il max
From: AlessandroD
Date: 5/9/2007 3:17:20 PM
enzo wrote:
>
> ok grazie mille per le informazioni
>
Ma ti funziona o no?
Ciao, Alessandro
|