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.
Spero di essere stato chiaro, spero anche che il materiale che vi ho fornito sia sufficente e spero che mi possiate aiutare.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)
Grazie

Rispondi quotando