とあるテーブルのデータを利用しつつ他のテーブルにINSERTする
ボールを抱えた状態にしたくなくて、早く帰りたい欲求と空腹と戦いながら解決した問題の備忘録。
とあるテーブルのデータを利用しつつ他のテーブルにINSERTしなければならなくなった。さて、どうしたものか。
「insert 全件 sql」でググったところ、下記のTipsがヒット。
うーん、でもこのテーブルAとテーブルBの列、全部利用するわけじゃないし、一部固定値なんだけど、どうすれば…とここから苦悩。
insert into 中学生データ (氏名, 生年月日, 入学予定日, 卒業予定日, 転校フラグ)
values (氏名, 生年月日, '20170401', '20190331', '0')
select 氏名, 生年月日
from 小学生データ
where 入学予定日 = '20120401'
and 卒業予定日 = '20170331'
and 転校フラグ = '0';
とかで実行してもうまくいかないし…。うーん…。
その後、select って固定値でもOKだしこうすればいけるんじゃね?と思い至る。
insert into 中学生データ (氏名, 生年月日, 入学予定日, 卒業予定日, 転校フラグ)
select 氏名, 生年月日, '20170401', '20190331', '0'
from 小学生データ
where 入学予定日 = '20120401'
and 卒業予定日 = '20170331'
and 転校フラグ = '0';
お、想定通りにINSERTできたぞ。
ということで無事ボールを投げ返し、退社しました。めでたしめでたし。