SQL Server 2005更新基于同一表的查询

时间:2013-03-13 12:22:11

标签: sql sql-server-2005

我的表格包含以下字段:ID_Observation(PK),ID_GradingID_ObKindData

我在编写查询时难以根据表中的其他行更新某些行。

如果ID_ObKind = 9 AND Data ='否',那么具有相同ID_Grading且ID_ObKind = 10且Data = NULL的任何行都需要更新为数据= 0.

我有十几种不同的情况,需要根据特定ID_ObKind的数据值来更改数据,因此需要确定这一点。每个ID_Grading最多可包含120行,每行包含不同的ID_ObKind

1 个答案:

答案 0 :(得分:1)

我认为这对你有用。 http://sqlfiddle.com/#!3/2eeaf/14

Update TheTable
   set data=0
 where id_grading = (select id_grading
                       from TheTable
                      where id_obkind=9
                        and data='No')
   and id_obkind=10
   and data is null