Welcome to Sign in | Help

Re: Reutilizarea datelor

  •  03-01-2014, 11:17 AM

    Re: Reutilizarea datelor

    Salut,

    Nu sunt sigur dacă am înțeles bine ce vrei, nu spun că e cea mai bună soluție, dar poate este util așa ceva:

    UPDATE t

    SET SalariuDeBaza=NoulSalariuDeBaza,

       ContributieSanatate=NouaContributieSanatate,

       ContributieCAS=NouaContributieCAS,

       DeducerePersonala=NouaDeducerePersonala,

       SalariuImpozabil=NoulSalariuImpozabil,

       ImpozitSalarii=NoulImpozitSalarii,

       SalariuNet=NoulSalariuNet

    FROM (

       SELECT *, NoulSalariuNet=NoulSalariuDeBaza-NouaContributieSanatate-NouaContributieCAS-NoulImpozitSalarii

       FROM (

         SELECT *, NoulImpozitSalarii=NoulSalariuImpozabil*0.16

         FROM (

            SELECT *, NoulSalariuImpozabil=NoulSalariuDeBaza-NouaContributieSanatate-NouaContributieCAS-NouaDeducerePersonala

            FROM (

               SELECT *, NouaDeducerePersonala=CASE

                  WHEN NoulSalariuDeBaza<=1000 THEN 250

                  WHEN NoulSalariuDeBaza>3000 THEN 0

                  ELSE 250*(1-(NoulSalariuDeBaza-1000)/2000)

               END

               FROM (

                  SELECT *, NouaContributieSanatate=NoulSalariuDeBaza*0.055, NouaContributieCAS=NoulSalariuDeBaza*0.105

                  FROM (

                    SELECT *, dbo.CalculeazaSalariuDeBaza(s.ID_Salariat,s.Luna) AS NoulSalariuDeBaza

                    FROM StatSalarii s

                    WHERE s.Luna=@LunaCurenta

                  ) x1

               ) x2

            ) x3

         ) x4

       ) x5

    ) t

     

    Răzvan

    PS. Codul este netestat, iar formulele folosite nu reflectă în totalitate impozitele care trebuie calculate.

View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems