0

在这里,我在表中有一些学生信息。其授权值默认为 0。在检查了一些条件后,我将一些学生分组并将那里的值更新为 1。

只有那些满足给定条件的学生,即

select * from studentA 
where schName ='IES DADAR' and lang = 'E' 

[1]: http://rk.somee.com/untitled.jpg

我正在尝试使用以下代码,但它没有根据我的给定条件进行过滤,而是将每个学生的授权值更改为 1。

update studentA
set Authorized = '1'
where Authorized IN 
( select Authorized from studentA 
where schName ='IES DADAR' and lang = 'E')

你也可以建议我另一种方法。

4

2 回答 2

3

尝试

update studentA 
set Authorized = '1' 
where schName ='IES DADAR' 
and lang = 'E'
于 2012-08-12T19:39:32.120 回答
2

子查询

 select Authorized from studentA 
 where schName ='IES DADAR' and lang = 'E'

返回 0,因此您的实际查询变为

update studentA
set Authorized = '1'
where Authorized IN ('0')

从而更新表中的每一行。

所以,应该是

update studentA
set Authorized = '1'
where schName ='IES DADAR' and lang = 'E'
于 2012-08-12T19:45:07.873 回答