質問: 副問合せをいれたinsert文で、問合せ結果が無い場合 副問合せをいれたinsert文で、問合せ結果が無い場合 環境はsql server2005です。 テーブルa,テーブルbが存在し、テーブルaにレコード追加する際に一部をテーブルbから抽出して、 insertしようとしています。 [sql文] insert into テーブルa(フィールド1, フィールド2, フィールド3,フィールド4・・・) select 'aaa', 'bbb' ,b.フィールド3, b.フィールド4 ・・・ from テーブルb b where ~ この場合、テーブルbにwhereで指定した条件のレコードが存在しない場合はinsertされなくなってしまいます。 存在しない場合は、該当のフィールドにはnullをいれたいのですが、テーブルbからの結果が存在しない場合でも テーブルaにinsertする方法はありますか?
回答: 今回のやつは、 固定値をaとして、インラインテーブルを作るといういみなので、 そこにテーブルbの列を書いたらエラーになりますね。 なら、 select a.*,b.colc colc, b.cold cold, =======>>★ from ( select 'aaa' cola, 'bbb' colb ) a left join tableb b on b.コード・・・・ では? 「どのテーブルとどのテーブルを外部結合したいか」 をイメージするといいかと思います。