Estou tendo problemas para gerar resultados que são calculados a partir de dados existentes no banco de dados. Este é o caso
Eu tenho cupons que podem ser quantidade ou porcentagem, se porcentagem for 0, então a quantidade é usada
CASE
WHEN c.CouponPercent > 0 THEN p.Price - (c.CouponPercent/100)
ELSE c.CouponValue
END as Coupon
agora eu tenho que calcular a porcentagem para um provedor de conteúdo que é
(p.Price-Coupon)*(ProviderPercent/100)
Como posso usar o cálculo do valor do cupom acima para calcular a porcentagem do provedor, se eu usá-lo como no código acima, o erro é relatado "Nome da coluna inválido 'Cupom'".
Por favor, ajude-me, sei como resolver isso de maneira difícil, que é calcular o valor do cupom toda vez ao calcular o ProviderPercent, mas tenho 8 por cento como este em um relatório para diferentes provedores.
Então, basicamente, a questão é como usar o valor do cupom calculado para usá-lo em outros cálculos para o mesmo registro. O cupom é alterado em relação ao produto, então posso ser diferente para cada registro selecionado no banco de dados.
É simples, o valor calculado pode ser usado aplicando o valor com aplicação cruzada
assim, selecione cpk.coupon, p.Price, p.Price-cpk.coupon como FinalPrice -- etc
Você não pode fazer isso com um CROSS APPLY ?