Salve, ho un problema da risolvere con una stored, ma in un punto preciso mi dà un problema e più precisamente si tratta di assegnare dei punti a degli utenti in base a delle caratteristiche che imposto nelle query come filtri.
le tabelle incriminate in questa query sono quattro una si chiama gruppi, l'altra si chiama generale, l'altra meriti e infine lavorazione
nella tabella gruppi abbiamo ID_GRuppo(GRP0001, etcc), poi abbiamo Mese(022009,032009)cioè mese ed anno e idlavorazione (l'id che fa rif. alla tabella lavorazioni)
nella tabella generale è quella dove va aggiornato il valore dei punti e qui abbiamo IDGruppo(chiave primaria),il nominativo dell'utente(che è il cf ed è anche chiave primaria),il mese(chiave primaria) e il campo Punti
nella tabella Meriti abbiamo anche qui IDGruppo,nominativo,mese e tutti e tre i valori sono chiave primaria e in più ResaMedia campo decimal che è la media che gli viene assegnata ad ogni utente in base alla propria prestazione.
nella tabella lavorazione abbiamo l'id della lavorazione (contatore) e il tipo lavorazione che viene fatta.
Adesso io devo assegnare nella tabella generale e più precisamente nel campo punti l valore 30 SE lavorazione del mese = a quella del mese precedente E +10% di resaMedia
Bene io vi mostro la singola query e non tutta ala stored, anche perchè le altre query funzionano alla perfezione.
codice:
+
isnull((
select 30
from sk_generale gen
join ANA_GRUPPI anagr
on anagr.ID = gen.ID_GRUPPO
and anagr.Mese = gen.Mese
join Lavorazioni lav
on lav.id_lavorazione = anagr.id_lavorazione
join sk_Merito_Outbound me_out
on me_out.OP = gen.OP
and me_out.Mese = gen.Mese
and me_out.ID_Gruppo = gen.ID_GRUPPO
join sk_merito_outbound me_out_prec
on me_out_prec.OP = gen.OP
and me_out_prec.Mese = dbo.previousmonth(gen.Mese)
and me_out_prec.ID_Gruppo = gen.ID_GRUPPO
where me_out.ResaMedia >= (me_out_prec.ResaMedia +(me_out_prec.ResaMedia * 0.1))
),0)
Spero di essere stato chiaro, spero anche che il materiale che vi ho fornito sia sufficente e spero che mi possiate aiutare.
Grazie