
No.1ベストアンサー
- 回答日時:
SQLServer2005以降ならROW_NUMBERが使えます
---
UPDATE Table
SET 連番 = ROW_NUMBER() OVER(ORDER BY コード) + 14
FROM Table
参考URL:http://msdn.microsoft.com/ja-jp/library/ms186734 …
この回答への補足
ROW_NUMBER() OVER(ORDER BY コード) + 14
で連番は取得できたのですが、
「ウィンドウ関数は、SELECT 句または ORDER BY 句だけで使用できます。」
とエラーが出ます。
これはどうすればよいのでしょうか?
No.2
- 回答日時:
エラーどおりなので、Selectした結果とジョインして更新をかけます。
※この場合、コードが一意にならないと駄目です。
create table test
(
コード varchar(10),
名前 varchar(10),
連番 int
);
insert into test values('001','AAA',null);
insert into test values('002','BBB',null);
insert into test values('003','CCC',null);
select * from test;
UPDATE test
SET test.連番 = b.NewNo
FROM test
inner join (
select コード, (ROW_NUMBER() OVER(ORDER BY コード) + 14) as NewNo
FROM test) as b
on test.コード = b.コード
;
select * from test;
(1 行処理されました)
(1 行処理されました)
(1 行処理されました)
コード 名前 連番
---------- ---------- -----------
001 AAA NULL
002 BBB NULL
003 CCC NULL
(3 行処理されました)
(3 行処理されました)
コード 名前 連番
---------- ---------- -----------
001 AAA 15
002 BBB 16
003 CCC 17
(3 行処理されました)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS テキストボックスに入...
-
エクセルVBA 10分後にエクセル...
-
CSVファイルを読み込んでテーブ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
PostgreSQLのtimestamp型で時間...
-
Accessの構成をコピーしたい
-
既存データをINSERT文にして出...
-
ADO+ODBCでテーブルに接続する...
-
Excel VBAのユーザーフォームで...
-
DB2のSQLコマンドについて
-
ExcelのVLOOKUP関数の動作をMyS...
-
ExcelのMatch関数のようなもの...
-
あってますか?SQL
-
timestampのデータはどのように...
-
SQLです!!教えてください。あ...
-
オラクルのnumber
-
H2 DataBaseご存知の方教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルを読み込んでテーブ...
-
timestamp が空のデータを除い...
-
テキストボックスの背景をVB...
-
データがリストアできない!!
-
SQLSERVER 連番更新について
-
エクセルVBA 10分後にエクセル...
-
ACCESS テキストボックスに入...
-
GBLtest test?
-
平均値のもとめ方
-
(Linux、データベース初心者)...
-
型について
-
SQL SERVERの BULK INSERT
-
配列データに対する、要素の追...
-
エクセルと同じファイル名でc...
-
PostgreSQL serial型の質問
-
Japanese schools
-
Accessエクスポート時に連番を...
-
1つのドメインを複数のDNSで管...
-
SELECT文で足し算をした場合、N...
-
図形を作成するマクロ
おすすめ情報