sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af CASE Statement inde i IN-klausulen

CASE returnerer kun en skalarværdi. Du kan gøre dette i stedet for. (Jeg antager, som i dit eksempel, at når @StatusID =99, er en StatusID-værdi på 99 ikke et match.)

select *
from MyTable
where (@StatusID = 99 and StatusID in (5, 11, 13))
    or (@StatusID <> 99 and StatusID = @StatusID)


  1. Kan en Check-begrænsning relatere til en anden tabel?

  2. Hvordan får jeg IDENTITY / AUTONUMBER værdien for rækken, jeg indsatte i pymysql

  3. Kaldes onUpgrade-metoden nogensinde?

  4. mysql mellem forespørgsel i datoer