sql >> Databáze >  >> RDS >> Sqlserver

Kombinace více podmínek v příkazu jednoho případu na serveru SQL

Podmínku můžete umístit za WHEN klauzule, asi takto:

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
  ....

Samozřejmě lze argumentovat tím, že složitá pravidla, jako je toto, patří do vrstvy vaší obchodní logiky, nikoli do uložené procedury v databázi...



  1. Materializovaný pohled a tabulka se stejným názvem

  2. Jak se připojit k localhost pomocí postgres_fdw?

  3. Oracle vloží z výběru do tabulky s více sloupci

  4. Jak uložit uuid jako číslo?