Joh*_*ski 4 sql t-sql sql-server case where
我有2个字段,我想在一个WHERE
语句中发送值.
在我想象的世界中,不知怎的,这会起作用:
Where CASE WHEN @ReportType = 0 THEN
od.StatusCd = 100 AND odm.StatusCd = 100
WHEN @ReportType = 1 THEN
od.statusCd = 101 AND odm.StatusCd = 101
End
And od.CompletionDate between ....
And so on....
Run Code Online (Sandbox Code Playgroud)
我知道这是错的.但这就是我现在所处的位置.
如果我已经理解你要做什么,这应该工作:
Where
(
(@ReportType = 0 AND od.StatusCd = 100 AND odm.StatusCd = 100)
OR
(@ReportType = 1 AND od.statusCd = 101 AND odm.StatusCd = 101)
)
And od.CompletionDate between ....
And so on....
Run Code Online (Sandbox Code Playgroud)