【发布时间】:2021-10-03 01:34:14
【问题描述】:
我想编写一个查询来从表中检索结果。
当名字我的所有状态都完成时显示我完成了。当状态已完成但还有其他状态(例如进行中或已创建)时,则仅显示其他状态
| CustomName | STATUS | order |
|---|---|---|
| Ivan Ivanov | completed | 1 |
| Stoqn Stoqnov | completed | 1 |
| Dimityr Ivanov | completed | 1 |
| Ivan Ivanov | completed | 2 |
| Dimityr Ivanov | completed | 2 |
| Ivan Ivanov | inprocess | 2 |
| Stoqn Stoqnov | completed | 2 |
| Dimityr Ivanov | completed | 3 |
| Dimityr Ivanov | created | 4 |
| Stoqn Stoqnov | completed | 3 |
| Ivan Ivanov | completed | 4 |
| Stoqn Stoqnov | completed | 4 |
预期结果
| Ivan Ivanov | inprocess |
| Dimityr Ivanov | created |
| Stoqn Stoqnov | completed |
查询:
SELECT distinct CustomName,
(CASE WHEN [STATUS] ='COMPLETED' THEN 'completed'
WHEN [STATUS] ='inprocess' THEN 'inprocess'
WHEN [STATUS] ='created' THEN 'created' END ) AS [STATUS]
from [dbo].[Customers]
【问题讨论】:
标签: sql sql-server tsql sql-server-2008