Ist es möglich zu verwenden Fall in wo in Klausel? Etwas wie folgt aus:SQL Verwendung CASE-Anweisung in WHERE IN-Klausel
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)
Dieser Code gibt den Fehler: falsche Syntax nahe ''.
was ist der Typ von P.Status? –
Sie können 'case' in' where' verwenden, aber nicht so. 'Case' muss einen Wert pro Anweisung zurückgeben. –
@MaryamArshi: der Typ von P.Status ist int. – POIR