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.