2 回答

TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊
SELECT CASE COUNT(*) WHEN 0 THEN 'Form1' ELSE 'Form2' END AS ShowForm
FROM
TABLE
WHERE employee_Id = '$CurrentUserId$'
AND CreatedOn > DATEADD(year,-1,GETDATE())

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
檢查記錄是否存在時,使用EXISTS/ NOT EXISTS。COUNT()實際上會計算所有行,同時EXISTS會在第一行短路,因此速度更快。
IF EXISTS (SELECT 'record this year' FROM [TABLE] T WHERE T.employee_Id = '$CurrentUserId$' 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語句中需要此功能,您可以使用 Dheerendra 的解決方案。
- 2 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報