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。

4

1 回答 1

0

您应该能够使用类似于以下内容的 UPDATE 查询:

update yt
set status = 1
where exists (select name
              from yt t1
              where status = 1
                 and yt.name = t1.name);

请参阅带有演示的 SQL Fiddle

于 2013-05-23T15:56:52.680 回答