質問: SQLのSELECT INSERT文について。 ある条件の時に、レコードを増幅してINSERTする。といったことはSQLで可能でしょうか。ご存じの方いましたらご教授ください。 説明が難しいので以下に例を示します。※ちなみにMySQLを使用しています。 例:テーブルA(ID, 名前, 備考1, 備考2、備考3)があるとします。 全てのレコードについて通常は INSERT INTO テーブルB( ID, 名前, 備考 ) SELECT ID, 名前, 備考1 FROM テーブルA を実行しますが。 名前が"田中"の時だけは、条件分岐することで3レコード作成 (ID,名前,備考1)(ID,名前,備考2)(ID,名前,備考3)の3レコード などできるでしょうか。 宜しくお願い致します。
回答: INSERT INTO テーブルB (ID,名前,備考) SELECT ID,名前,備考1 FROM テーブルA UNION ALL SELECT ID,名前,備考2 FROM テーブルA WHERE 名前='田中' UNION ALL SELECT ID,名前,備考3 FROM テーブルA WHERE 名前='田中' です。