I need multiple calculations in a single statement

SELECT PrisID, 
       Navn, 
       [Vægt (g)], 
       [RåvarePris(øre)], 
       Produktionsomk, 
       [RåvarePris(øre)] + Produktionsomk AS NettoPris, 
       NettoPris * 25 AS Moms, 
       NettoPris + Moms AS PrisInclMoms, 
       PrisInclMoms * 100 AS [Pris(100gr)]
FROM PrislisteBolsjer  

Upvotes: 2

Views: 130

Answers (1)

Mikael Eriksson
Mikael Eriksson

Reputation: 138960

You can't use aliases in the same filed list as they are created.

You can use cross apply to do the calculation that you need to reuse.

SELECT PrisID, 
       Navn, 
       [Vægt (g)], 
       [RåvarePris(øre)], 
       Produktionsomk, 
       T1.NettoPris, 
       T2.Moms, 
       T3.PrisInclMoms, 
       T3.PrisInclMoms * 100 AS [Pris(100gr)]
FROM PrislisteBolsjer
  CROSS APPLY (SELECT [RåvarePris(øre)] + Produktionsomk) AS T1(NettoPris)
  CROSS APPLY (SELECT T1.NettoPris * 25) AS T2(Moms)
  CROSS APPLY (SELECT T1.NettoPris + T2.Moms) AS T3(PrisInclMoms)

Upvotes: 3

Related Questions