プロが教える店舗&オフィスのセキュリティ対策術

挿入するフィールドの内1つだけを他のテーブルから取ってきた値を使いたいのですが、
insert into table1
(field1, field2, field3)
values('a', (select field2 from table2 where field4='xxx'), 'b');
Oracleだと↑の書き方でいけるのですが、PostgreSQL(6.5.3)だとエラーになってしまいます。
2回もDBにアクセスしにいくのはいやなので、1文で書きたいです。上記以外で他の書き方をご存知でしたら教えてください。よろしくお願いします。

A 回答 (1件)

ポストグレは使ったこと無いんで違うかもしれませんが、以下のSQLでどうでしょ?



insert into table1 (field1, field2, field3)
select 'a', field2, 'b'
from table2
where field4='xxx';
    • good
    • 6
この回答へのお礼

いけました!ありがとうございました。ほんとに。助かりました。
そういう書き方があるのですねえ。

お礼日時:2001/11/04 21:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A