Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Łączenie wielu warunków w pojedynczej instrukcji przypadku w SQL Server

Możesz umieścić warunek po WHEN klauzula, np.:

SELECT
  CASE
    WHEN PAT_ENT.SCR_DT is not null and PAT_ENTRY.ELIGIBILITY is null THEN 'Favor'
    WHEN PAT_ENT.SCR_DT is not null and PAT_ENTRY.EL = 'No' THEN 'Error'
    WHEN PAT_ENTRY.EL = 'Yes' and ISNULL(DS.DES, 'OFF') = 'OFF' THEN 'Active'
    WHEN DS.DES = 'N' THEN 'Early Term'
    WHEN DS.DES = 'Y' THEN 'Complete'
  END
FROM
  ....

Oczywiście można argumentować, że takie złożone reguły należą do warstwy logiki biznesowej, a nie do procedury składowanej w bazie danych...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopiowanie wierszy w bazie danych, gdy wiersze mają dzieci

  2. Jak mogę debugować EXCEPTION_ACCESS_VIOLATION w SQL Server 2008?

  3. Jak używać kursora do aktualizacji rekordu

  4. Czy mogę utworzyć funkcję jednorazowego użytku w skrypcie lub procedurze składowanej?

  5. SQL Server :wiersze w kolumny