[pgsql-jp: 30655] SELECT文で空の外部結合?

Tetsuo SAKATA sakata.tetsuo @ lab.ntt.co.jp
2003年 8月 1日 (金) 13:31:27 JST


こんにちは.坂田@よこすかです.

SQLの勉強を兼ねて,考えてみました.
お尋ねの件は,きっと,左外結合でかけるのではないかと思い,
チャレンジしてみました.

INSERT INTO log_table (test_date, user_name)
  SELECT test_date, user_master.user_name
  FROM (SELECT NOW() ) AS test_date LEFT OUTER JOIN
       (SELECT user_master.user_name
        FROM user_master
        WHERE user_master.user_id=10);

ちょっと自信がないのですが,これで行けるように思います.

ご参考になれば幸いです.

Tanaka-Qtaro-Yasuhiro wrote:
> 
> 田中久太郎です。
> 
> 次のようなSQL文で user_masterに user_id = 10のレコードが無い
> 場合は、INSERT自体行われませんよね。
> 
> INSERT INTO log_table (test_date, user_name)
>   SELECT NOW(), user_master.user_name
>     FROM user_master
>     WHERE user_master.user_id = 10;
> 
> user_masterに該当レコードが無い場合は log_tableのuser_nameを
> NULLとしてINSERTされるようにしたいのですが、良い方法は無いで
> しょうか。

-- 
	NTT サイバースペース研究所	sakata.tetsuo @ lab.ntt.co.jp
	坂田 哲夫			Tetsuo SAKATA, Yokosuka JAPAN.



pgsql-jp メーリングリストの案内