Smmare un gruppo di record

mercoledì 15 aprile 2009 - 06.41

sanfra Profilo | Junior Member

Salve, rieccomi con dei problemi di query in sql server 2000.
Ho in una tabella così formata:

CF char(16) not null pk
Mese char(6) not null pk
Gruppo char(7) not null pk
Punti int NULL,
SKILL int NULL,
Premio float (4,2) NULL
così riempita:

sanfra1976(sostiutisco il codicefiscale per la privacy),092008,GRP0001,40, 2
sanfra1976,092008,GRP0002,0,2
sanfra1976,102008,GRP0003,55,2
sanfra1976,112008,GRP0004,80,2


Come potete vedere sono 4 record con lo "stesso codice fiscale", con dei mesi in alcuni casi differenti e in altri casi con lo stesso mese ed è lì che io devo sommare per mese cioè devo fare 40+0 nel caso del periodo seganto con 092008.
In base al Punteggio io dovrò aggiornare il campo Premio
quest'ultimo non è solo una somma, ma è una formula che va a prendere dei valori(coefficente,livello,lordo) da altre tabelle relazionate tra loro.

quindi alla fine io sono riusciuto ad eleborare questa query che però mi somma tutti e 4 i mesi,diciamo che faccio una sommatoria.

questo è la query che io elaboro:

update sk_generale set Premio = ( select ((anask.coefficente * SUM(gen.Punti))/100) * (Lordi_op.lordo *(ana_op.perc_part_time)/13) FROM sk_generale gen join ANA_SKILL anask on gen.SKILL=anask.ID join ANA_OP ana_op on ana_op.CodiceFiscale = gen.OP join Lordi_OP on Lordi_OP.Livello = ana_op.Livello group by anask.COEFFICENTE,Lordi_OP.LORDO, ana_op.PERC_PART_TIME ) From sk_generale gen join ANA_SKILL anask on gen.SKILL=anask.ID join ANA_OP ana_op on ana_op.CodiceFiscale = gen.OP join Lordi_OP on Lordi_OP.Livello = ana_op.Livello where Premio is null


QUalcuno può darmi un suggerimento?

Grazie e spero che questa volta sia stato chiaro ed efficente nell'aver impostato il post.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5