根据SQL中的条件更新列状态

时间:2019-05-09 20:28:57

标签: sql-server

我有一个表格,其中有IDStatus。我想要所有唯一的ID和状态。即使状态值之一为否。 我想将其状态值之一为“否”的ID更新表中的状态为“否”,并删除其余行。

对应的ID的状态应该为否。我该如何实现

ID Status
---------
1  Yes
1  No
1  No
2  Yes
2  No
3  No
3  No
4  Yes
4  Yes
5  No
5  Yes
3  Yes

预期输出:

ID  Status
----------
1   No
2   No
3   No
4   Yes
5   No

1 个答案:

答案 0 :(得分:0)

select ID, 
case when sum(case when Status = 'Yes' then 1 else 0 end) > 0 then 'Yes' else 'No' end as Status
from table 
group by ID