Allora ti mostro la query che sono riusciuto a fare e che mi d però un errore nel momento in cui inserisco la clausola Update:
codice:
Update sk_generale set Premio=
(
select distinct ((anask.coefficente * (SUM(gen.Punti))/100)) * (Lordi_op.lordo *(ana_op.perc_part_time)/13)
from sk_generale gen
join sk_generale gen1
on gen.OP = gen1.OP
--and gen.Punti = gen1.Punti
join ANA_SKILL anask
on gen.SKILL=anask.ID
and gen1.SKILL = anask.ID
join ANA_OP ana_op
on ana_op.CodiceFiscale = gen.OP
and ana_op.CodiceFiscale = gen1.OP
join Lordi_OP
on Lordi_OP.Livello = ana_op.Livello
group by gen.Mese,gen.ID_GRUPPO,gen1.ID_GRUPPO,anask.COEFFICENTE,Lordi_OP.LORDO,ana_op.PERC_PART_TIME,gen1.Mese
HAVING gen.ID_GRUPPO <> gen1.ID_GRUPPO and gen.Mese <> gen1.Mese)
from sk_generale gen2
where gen2.Premio is null
Nel senso che con il solo select mi dà i valori come li voglio
cioè per mese mi deve dare il risultato della formula
mentre se gli inserisco l'update mi dice che ci sono troppi valori di ritorno nella subquery
Non so se può bastare.
Spero di si, sono veramente disperato
Grazie