[解決済み] PostgreSQLでサブクエリから更新または挿入(複数行、複数列)する方法
2022-07-21 18:38:59
質問
postgresでこのようなことをやろうとしています。
-
UPDATE table1 SET (col1, col2) = (SELECT col2, col3 FROM othertable WHERE othertable.col1 = 123);
-
INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM othertable)
しかし、ポイント1は、ドキュメントに記載されているように、postgres 9.0でも可能ではありません( http://www.postgresql.org/docs/9.0/static/sql-update.html )
また、ポイント2も機能していないようです。次のようなエラーが発生します。
誰かが私のために回避策を持っていることを望みます。そうでなければ、クエリは多くの時間を取ります :(.
参考までに、私は複数のテーブルから異なる列を選択し、それらを一時テーブルに保存し、別のアプリケーションが準備されたデータを簡単に取得できるようにしようとしています。
どのように解決するのですか?
UPDATEについて
使用します。
UPDATE table1
SET col1 = othertable.col2,
col2 = othertable.col3
FROM othertable
WHERE othertable.col1 = 123;
INSERTの場合
使用します。
INSERT INTO table1 (col1, col2)
SELECT col1, col2
FROM othertable
は必要ありません。
VALUES
構文は必要ありません。
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] PostgreSQLで重複して更新された場合の挿入?
-
[解決済み] SQL/mysql - Select distinct/UNIQUE but return all column?
-
[解決済み] VARCHARとCHARの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決策:ユーザー root で localhost:3306 にある MySQL に接続できませんでした。
-
[解決済み] PostgreSQLのCREATE DATABASE IF NOT EXISTSをシミュレートしてみませんか?
-
[解決済み] SQLサーバーでNULL = NULLがfalseに評価される理由
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] SQL Serverにおける関数とストアドプロシージャの比較
-
[解決済み] PostgreSQLで重複して更新された場合の挿入?
-
[解決済み] SQL Server の CASE ステートメントで OR がサポートされていない。
-
[解決済み] SQLサーバーで行を列に効率的に変換する
-
[解決済み] SQL/mysql - Select distinct/UNIQUE but return all column?