【发布时间】:2015-11-13 18:27:15
【问题描述】:
我需要根据访问天数从表中获取记录。如何通过更正下面的查询来实现这一点?它有语法错误。我知道语法不正确,但它会让您了解我想要实现的目标。
DECLARE @PatientByDate INT
SET @PatientByDate = 30
SELECT * FROM Visits
WHERE
CASE
WHEN(@PatientByDate = 90) then DaysVisited > 90
WHEN(@PatientByDate = 60) then DaysVisited >= 60 AND DaysVisited < 90
WHEN(@PatientByDate = 30) then DaysVisited >= 30 AND DaysVisited < 60
WHEN(@PatientByDate = 25) then DaysVisited < 30
WHEN(@PatientByDate = 0) then -500 AND <= 5000000
END
【问题讨论】:
-
CASE不是语句 - 它是表达式(可以返回各种可能值之一)。您不能从CASE返回“代码块”或条件 - 只能返回单个原子值。
标签: sql sql-server