Как создать эту формулу в SQL - PullRequest
0 голосов
/ 19 сентября 2019

Я переключился на SQL для отчета, ранее это было сделано в Excel.

Формула была:

=IF([@[Qualifying Premium]]=0, 0, IF(C13="Team One", (10%-X13)*BC13, (20%-X13)*BC13))

В столбце BC указана месячная заработная плата, и в ней указана сумма, показывающая, сколько бонусов они упустили, если выполнили полный% Бонус.

Я воссоздал это в SQL AS

SUM(CASE WHEN Qualifying Premium='0' THEN 0 WHEN Team='Team One' THEN 10%-[BONUSQ%]*Monthly Salary ELSE 20%-[BONUSQ%]*Monthly Salary END)

Исходный вывод из Excel будет, например, «£ 200». Однако из SQL я просто получаю 0,00 или 10,00.Кто-нибудь может объяснить, что это за проблема?

1 Ответ

1 голос
/ 19 сентября 2019

Знак % в SQL означает что-то отличное от процента, это означает модуль (остаток операции).Попробуйте следующую версию:

SUM(CASE WHEN Qualifying Premium = 0 THEN 0
         WHEN Team = 'Team One' THEN (0.1 - [BONUSQ%])*[Monthly Salary]
         ELSE (0.2 - [BONUSQ%])*Monthly Salary END)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...