我需要帮助根据某些列的值(例如状态聚合)在 SQL Server 中得出结论。例如,下面是一个包含服务器任务及其状态的表格。
如果我想返回每个服务器的聚合状态,这里是规则:
示例表:任务
| 服务器 | 任务状态 | 任务 |
|---|---|---|
| 服务器 1 | 跑步 | 1-1 |
| 服务器 1 | 完全的 | 1-2 |
| 服务器 1 | 已提交 | 1-3 |
| 服务器 2 | 完全的 | 2-1 |
| 服务器 2 | 完全的 | 2-2 |
| 服务器 3 | 已提交 | 3-1 |
| 服务器 3 | 已提交 | 3-2 |
示例查询结果:
| 服务器 | 完成 |
|---|---|
| 服务器 1 | 进行中 |
| 服务器 2 | 完毕 |
| 服务器 3 | 等待 |
到目前为止,我尝试使用以下查询但没有成功:
SELECT Server,
CASE
WHEN Task_Status NOT IN ('RUNNING', 'COMPLETED') THEN 'AWAITING' -- Status SUBMITED
WHEN Task_Status NOT IN ('RUNNING', 'SUBMITED') THEN 'DONE' -- Status …Run Code Online (Sandbox Code Playgroud)