行を選択し、いくつかの列を変更して、同じテーブルに挿入する最も簡単な方法は何ですか? 別の行に基づいて新しい行を挿入しようとしています。
ベストアンサー1
INSERT INTO table2 (column1, column2, column3)
SELECT column1, 'no', column3 FROM table2 WHERE column2 = 'yes'
これで、やり方が少しは明確になったと思います。ご覧のとおり、table2 から 2 つの列を取得し、もう 1 つの列には、column2 の値ではなくテキスト値を使用しました。
使用できる他のパターン:
列とその他のテキストを結合します (列がすでに文字列データ型であると想定します)。
INSERT INTO table2 (column1, column2)
SELECT column1 + 'no', column2 FROM table2 WHERE column2 = 'yes'
列とテキストを組み合わせます。列が文字列である例と、そうでない例を 1 つずつ示します。
INSERT INTO table2 (column1, column2)
SELECT column1 + 'no', 'A' + cast(column2 as Varchar (10)) FROM table2 WHERE column2 = 'yes'