0

我对数据库开发人员有这样的问题。我有一个有两列的表,第一列是 ID,第二列是 Year(2002,2003,2004...它是字符串)。我想通过切换记录来更新它们。一开始是这样的。

ID    Year
1     2002
2     2003
3     2004

我想把它们换成这样。

ID    Year
1     2003
2     2002
3     2004

请注意我的年份专栏是独一无二的。所以我尝试了这样的事情,但对我没有用。

SqlCeCommand sss = new SqlCeCommand("Update Year Set Year='" + Year1 + "' Where Year='" + Year2 + "'", MainWindow._Conn);
4

1 回答 1

1

考虑设置id为小于或等于的年数:

update   YourTable
set      id = 
         (
         select  count(*)
         from    YourTable yt2
         where   yt2.Year <= YourTable.year
         )

SQL Fiddle 上的实时示例。

于 2012-07-01T13:10:34.080 回答