OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい

  • 困ってます
  • 質問No.162964
  • 閲覧数247
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (2/2)

挿入するフィールドの内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文で書きたいです。上記以外で他の書き方をご存知でしたら教えてください。よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 46% (643/1383)

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

insert into table1 (field1, field2, field3)
select 'a', field2, 'b'
from table2
where field4='xxx';
お礼コメント
ro-ro-ro

お礼率 100% (2/2)

いけました!ありがとうございました。ほんとに。助かりました。
そういう書き方があるのですねえ。
投稿日時 - 2001-11-04 21:03:51
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ