sql >> Database >  >> RDS >> Sqlserver

CASE-instructie gebruiken in IN-clausule

CASE geeft alleen een scalaire waarde terug. U kunt dit in plaats daarvan doen. (Ik neem aan, zoals in uw voorbeeld, dat wanneer @StatusID =99, een StatusID-waarde van 99 geen overeenkomst is.)

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


  1. Schaaloplossingen voor MySQL (replicatie, clustering)

  2. Rails negeert constanten in SQL SELECT-instructie

  3. org.hibernate.Query .iterate() VS .getResultList() querygeneratie

  4. niet-herkende configuratieparameter autocommit in PostgreSQL NodeJS