sql >> データベース >  >> RDS >> Sqlserver

Sql Serverの単一のcaseステートメントで複数の条件を組み合わせる

    WHEN の後に条件を置くことができます 句、次のように:

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

    もちろん、このような複雑なルールは、データベース内のストアド プロシージャではなく、ビジネス ロジック層に属しているという議論がなされる可能性があります...



    1. MySQLエラー::'ユーザー'root'@'localhost'のアクセスが拒否されました

    2. SQLServerプロファイラーでSQLServerクエリのパラメーター値を取得するにはどうすればよいですか

    3. SQL Server 2008 ドメインの変更

    4. SQLServerはOracleDBMS_METADATA.GET_DDLに対応していますか?