Таблица имеет одну запись на сотрудника в год. Каким должен быть запрос для изменения видимости, если данные о сотрудниках не записаны в этом году

Здесь вы работаете с целыми числами. Попробуйте использовать десятичные числа для всех чисел в вашем расчете.

 decimal share = (18m/58m)*100m;
0
задан Parth 16 January 2019 в 13:21
поделиться

2 ответа

SELECT CASE COUNT(*) WHEN 0 THEN 'Form1' ELSE 'Form2' END AS ShowForm
FROM
TABLE
WHERE employee_Id = '$CurrentUserId
AND CreatedOn > DATEADD(year,-1,GETDATE())
0
ответ дан Dheerendra 16 January 2019 в 13:21
поделиться

При проверке, существует ли запись, используйте EXISTS / NOT EXISTS. COUNT() будет фактически считать все строки, в то время как EXISTS будет закорачивать в первом ряду, таким образом, это будет быстрее.

IF EXISTS (SELECT 'record this year' FROM [TABLE] T WHERE T.employee_Id = '$CurrentUserId 

Если вам нужно это в 1 SELECT утверждении, вы можете использовать решение Дирендры.

AND T.CreatedOn > DATEADD(YEAR,-1,GETDATE())) BEGIN -- Do stuff if record this last year END ELSE BEGIN -- Do stuff if no record this last year END

Если вам нужно это в 1 SELECT утверждении, вы можете использовать решение Дирендры.

0
ответ дан EzLo 16 January 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: