是否可以使用的情況在哪裏在子句? 事情是這樣的: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