È possibile utilizzare case in dove nella clausola? Qualcosa di simile a questo:SQL use Istruzione CASE nella clausola WHERE IN
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)
Questo codice dà l'errore: sintassi in prossimità '' non corretto.
qual è il tipo di P.Status? –
Puoi usare 'case' in un' where', ma non così. 'Caso' deve restituire un valore per istruzione. –
@MaryamArshi: il tipo di P.Status è int. – POIR