-1

2つの列が次のように見えるテーブルがあります:

basedon                        line
MM2013000028
MM2013000028
MM2013000028
MM2013000029
MM2013000030
MM2013000030

行番号は現在空白ですが、次のようにする必要があります。

basedon                   line
MM2013000028              001
MM2013000028              002
MM2013000028              003
MM2013000029              001
MM2013000030              001
MM2013000030              002
4

3 に答える 3

3

行番号 (baseon で分割) を取得し、結果セットを更新する方法は次のとおりです。

WITH r_SomeTable
AS
(
SELECT *
, row_number() over(partition by baseon order by baseon) as rnk
FROM SomeTable
)

UPDATE r_SomeTable
SET line = rnk
GO

詳細については、この質問を参照して
ください。

于 2013-10-07T16:37:49.503 に答える
0
UPDATE MyTableName
SET line = ISNULL(SELECT MAX(line) FROM MyTableName, 0) + 1
于 2013-10-07T16:51:12.620 に答える