PDA

Visualizza la versione completa : sql con vari group by


rainbow.pino
09-10-2008, 19:36
salve a tutti
ho un db con questi campi:
id_anag
denominazione
n_provv
data_provv
contratto
incarico
compenso

Il mio obiettivo è calcolare il totale dei compensi che hanno lo stesso:
id_anag
n_provv
data_provv

Voglio però visualizzare pure i campi:
denominazione
contratto
incarico


Dopo varie prove ho realizzato questa istruzione sql:
SELECT id_anag, denominazione, n_provvedimento, data_provvedimento, SUM(compenso) AS tot_compenso FROM DB21 GROUP BY id_anag, denominazione, n_provvedimento, data_provvedimento, contratto, incarico

che funziona,
ma mi chiedo e vi chiedo:

perchè tutti i campi che voglio visualizzare (denominazione, contratto, incarico) devo specificarli anche in group by?
non è possibile quindi fare una select + sum + group by su alcuni campi e visualizzarne altri
p.e. la denominazione, il contratto, l'incarico li ho aggiunti solo perchè mi servivano,
ma non perchè fossero necessari al raggruppamento
anzi mi allungano l'elenco.

spero di avere spiegato chiaramente il mio problema

un'altra domanda
dove posso trovare un corso sql un tantino più approfondito di quello di html o di quello di mrwebmaster?

grazie
Pino

Loading