Sql 如何根据同一表中一行的条件更新一组行
我必须更新一个表中一组行的状态字段。标准仅在一行中 例如:Sql 如何根据同一表中一行的条件更新一组行,sql,self-join,Sql,Self Join,我必须更新一个表中一组行的状态字段。标准仅在一行中 例如: ID Name No Status 1 CR100 4711 1 2 CR100 4712 0 3 CR100 4713 0 4 CR101 4712 0 5 CR101 4713 0 6 CR102 4715 0 7 CR102 4788 1 8 CR102 4733 0 我想更新组中至
ID Name No Status
1 CR100 4711 1
2 CR100 4712 0
3 CR100 4713 0
4 CR101 4712 0
5 CR101 4713 0
6 CR102 4715 0
7 CR102 4788 1
8 CR102 4733 0
我想更新组中至少有一个状态为1的所有行中的状态。在我的示例中,必须更新组CR100和CR102行中的状态。到1。您应该能够使用类似于以下内容的更新查询:
update yt
set status = 1
where exists (select name
from yt t1
where status = 1
and yt.name = t1.name);
请参见。如果答案对你有效,那么你应该接受它。