是否可以使用的情况在哪里在子句? 事情是这样的:SQL在WHERE IN子句中使用CASE语句
DECLARE @Status VARCHAR(50);
SET @Status='published';
SELECT * FROM Product P
WHERE P.Status IN (CASE WHEN @Status='published' THEN (1,3)
WHEN @Status='standby' THEN (2,5,9,6)
WHEN @Status='deleted' THEN (4,5,8,10)
ELSE (1,3)
END)
此代码提供了错误:附近有语法错误 ''。
P.Status是什么类型? –
你可以在'where'中使用'case',但不是那样。 'Case'必须为每个语句返回一个值。 –
@MaryamArshi:P.Status的类型是int。 – POIR