如何在 SQL Server case 语句中设置默认值?

kse*_*lva 2 sql-server

我有一个类似显示状态和计数的场景。看看下面的模型

Status            Counts
---------------   --------
Completed          10
In Progress         6
Others              0
Run Code Online (Sandbox Code Playgroud)

我有这个代码:

SELECT 
    CASE 
       WHEN Status = 'I' THEN 'IN PROGRESS' 
       WHEN Status = 'O' THEN 'Others' 
       WHEN Status = 'C' THEN 'COMPLETED' 
    END AS ' Status', 
    COUNT(Status) AS ' Counts' 
FROM   
    table1
Run Code Online (Sandbox Code Playgroud)

我只有Completed和 的值InProgress。目前我只有两行。但是我需要包括三行Others并且它的计数应该是 0 - 如何在 SQL 中做到这一点?

gan*_*ers 8

添加一个“其他”,如下所示:

SELECT CASE 
         WHEN Status= 'I' THEN 'IN PROGRESS' 
         WHEN Status= 'C' THEN 'COMPLETED' 
         ELSE 'Others' 
       END            AS ' Status'
FROM   table1
Run Code Online (Sandbox Code Playgroud)