1

現在、列1が残りの列の一意の識別子であるテーブルがあり、一意の識別子ごとに新しい値をテーブルに挿入する必要があります。例は次のとおりです。

1列目2列目3列目
10アドレスTrue
10都市偽
10状態真
20アドレスTrue
20シティトゥルー
20状態真

次のように、列1の一意の識別子ごとに新しい行を挿入する必要があります。

1列目2列目3列目
10アドレスTrue
10都市偽
10状態真
* 10 NEW NEW *
20アドレスTrue
20シティトゥルー
20状態真
* 20 NEW NEW *

何らかの理由で、クイックルックアップと挿入のためのSQLスクリプトは、月曜日の朝に私を逃れています。どんな助けでもいただければ幸いです。

ありがとう!

4

2 に答える 2

1
insert into table-name
(Column1, Column2, Column3)
select Column1, 'NEW', 'NEW*' from table-name group by Column1

代わりに、副選択で個別を使用することもできますが、group byに切り替え始めました。これは、クエリをカウントなどに変更する場合に、より柔軟になります。

于 2013-03-18T16:04:06.590 に答える
1

マーリン・ピアスの提案の変形を試すことができます:

INSERT INTO [table-name]
([Column 1], [Column 2], [Column 3])
SELECT [Column 1], 'NEW', 'NEW*' from [table-name] where [Column 2] = 'Address' group by [Column 1];

これにより、既存の行ごとに1つの新しい行が作成されます。

実行可能サンプルについては、 SqlFiddleを参照してください。

于 2013-03-18T20:51:37.417 に答える