如何通过Sql Command在一个表中切换记录?

时间:2012-07-01 13:05:07

标签: sql sqlite

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

ID    Year
1     2002
2     2003
3     2004

我想切换它们并做这样的事。

ID    Year
1     2003
2     2002
3     2004

请注意My Year Column是独一无二的。 所以我尝试了类似的东西,但对我没用。

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

1 个答案:

答案 0 :(得分:1)

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

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

Live example at SQL Fiddle.