- 締切済み
1つのSQL文で検索し、その結果をINSERTしたい
いつもお世話になっております。 今回、AテーブルとBテーブルを調べてデータに差分があれば、その差分データを元にCテーブルからデータを取ってきて、取ってきたデータをDテーブルに追加する、というSQLを1文で書くようにと言われました。 Cテーブルからデータを取ってくるところまではできたのですが、それをDテーブルにINSERTするにはどうしたら良いのかがわかりません。 Cテーブルから取得するデータは5件です。 DテーブルにはCテーブルから取得したデータ以外にも3件入力する項目があります。 現状を簡単に表現すると INSERT INTO Dテーブル(ア,イ,ウ,エ,オ,カ,キ,ク) VALUES((SELECT あ,い,う,え,お FROM Cテーブル),か,き,く); のようにやってみたのですが、うまくいきません。 こういう場合の記述方法をご存知の方がいらっしゃいましたら、教えてください。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
回答No.1
insert into D select ~ from C where ~ in (select ~ from (select * from A minus select * from B) ; みたいな感じになるんじゃないですかね。 ・AとBの差分の求め方が判らない。 ・AB差分とCの関係式が判らない。 ということで、イメージでしか表現できませんが、 その辺を具体的に埋めれば良いかと。
お礼
自己解決しました。 INSERT INTO Dテーブル(ア,イ,ウ,エ,オ,カ,キ,ク) ((SELECT あ,い,う,え,お FROM Cテーブル),か,き,く); と書けばよかったようです。 ありがとうございました。