2016-06-13 5 views
0

他のフィールドに応じて増分されるデフォルト値のフィールドに値を挿入しますか?私のテーブルでフィールズ値に応じて増分されたフィールドに値を挿入します。

私はすでにフィールドnameを持っていると私はそのようなフィールド「インデックス」の値を挿入する:

Name | Value 
aaaa |MD_1 | 
aaaa |MD_2 | 
aaaa |MD_3 | 
bbbb |MD_1 | 
bbbb |MD_2 | 
bbbb |MD_3 | 
bbbb |MD_4 | 
cccc |MD_1 | 
cccc |MD_2 | 
+2

がいることを、あなたの最後の質問と同じではありませんか? http://stackoverflow.com/questions/37745036/running-a-loop-into-sql-query –

+0

@Hchliyah:あなたのテーブルにはすでに 'name'と' value'がヌルであると言っています。あなたは質問で述べたようにそれらを更新したいですか? – Utsav

答えて

0

私はあなたが値を更新することをことを言っていると思います上記の例のように残念ながら、row_number over partition byは更新ステートメントには使用できませんが、selectで使用できます。あなたは何ができるか

は別の一時テーブルを作成し、その中でvalueフィールドを移入

  1. です。

  2. はあなたのメイン テーブルにあなたのメインテーブル一時テーブルから

  3. コピーデータを切り捨てます。

メインテーブルがtable1だとします。そして、この

SQLFiddle Demo

CREATE TABLE Table2 (Name varchar(4), val varchar(6)); 

INSERT INTO TABLE2 
SELECT NAME,('MD_'||row_number() over (partition by name order by name)) FROM TABLE1; 

truncate table table1; 

insert into table1 
select name,val from table2; 
+0

ありがとうございました@Utsavとても助かりました! – Hchliyah

関連する問題