3

次のようにデータベースに行があります。

DocumentNumber   LineNumber
1234             1
1234             1 
1453             1
1237             1
1677             1

これらの値は、データベースに既に格納されています。複数の文書番号がある場合は、行番号列を 1 ずつ増やす必要があります。したがって、文書番号 1234 の行番号は 1 と 2 になります。

updateステートメントでこれを行う方法はありますか?

4

1 に答える 1

5

SQL-Server 2005 以降を使用している場合は、次を使用できますROW_NUMBER

WITH CTE AS
(
  SELECT DocumentNumber, LineNumber
     ,   RN = ROW_NUMBER() OVER (PARTITION BY DocumentNumber Order By DocumentNumber)
  FROM tableName
)
UPDATE CTE SET LineNumber = RN

デモフィドルはこちら

于 2012-11-12T21:16:11.143 に答える