Aktualisieren oder Einfügen (mehrere Zeilen und Spalten) aus der Unterabfrage in PostgreSQL

Ich versuche, etwas zu tun, wie dies in 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)

Aber Punkt 1 ist nicht möglich, selbst mit postgres 9.0 wie bereits in den docs (http://www.postgresql.org/docs/9.0/static/sql-update.html)

Auch Punkt 2 scheint nicht zu arbeiten. ich bin immer der folgende Fehler: subquery must return nur eine Spalte.

Hoffe, jemand hat einen workaround für mich. ansonsten werden die Abfragen dauern eine looot Zeit :(.

FYI: ich bin versucht, um zu wählen, verschiedene Spalten aus mehreren Tabellen und speichert Sie in eine temporäre Tabelle, so dass eine andere Anwendung kann leicht abrufen der aufbereiteten Daten.

InformationsquelleAutor der Frage dforce | 2010-09-17

Schreibe einen Kommentar