0

データベース開発者にそのような質問があります。最初の列はID、2番目の列は年(2002、2003、2004 ...文字列)の2つの列を持つテーブルがあります。レコードを切り替えて更新したい。はじめはこんな感じです。

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);
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 に答える