現在、数千のエントリを持つテーブルがあります。システム内のすべてのエントリに新しいデータ行を挿入する方法を見つけましたが (以下の例を参照)、残念ながら、一部のエントリには既に値が含まれていることがわかりました。行が既に存在するかどうかに基づいて、INSERT INTO 関数を選択的に実行する方法を見つけようとしています。
Column 1 Column 2 Column 3
10 Address True
10 City False
10 State True
20 Address True
20 City True
20 State True
20 NEW NEW*
Column 1 Column 2 Column 3
10 Address True
10 City False
10 State True
10 NEW NEW
20 Address True
20 City True
20 State True
20 NEW NEW
挿入に使用したコードは次のとおりです。
insert into table-name(Column1, Column2, Column3)
select
Column1, 'NEW', 'NEW*'
from
table-name
group by
Column1
ステートメントを使用する必要があると想定していますIF/ELSE
が、ステートメントで問題が発生していIF
ます。現在、次のコードを使用しています。
IF Column 2 like 'New' leave NULL
ELSE
insert into table-name(Column1, Column2, Column3)
select
Column1, 'NEW', 'NEW*'
from table-name
group by Column1
IF ステートメントが間違っていることはわかっていますが、既存の行の値が既に取り込まれている場合、それらを同じままにするために何をすべきかを理解しようとしています。