In Postgres (Version 9.4 FWIW), eine INSERT INTO ... SELECT
Abfrage scheint auf Spaltenposition basierend einzufügen, anstatt Name:Einfügen von Namen statt Position in Postgres
pg=# CREATE TEMPORARY TABLE x (a int, b int);
CREATE TABLE
pg=# INSERT INTO x (a, b) SELECT 1 as b, 2 as a;
INSERT 0 1
pg=# SELECT * FROM x;
a | b
---+---
1 | 2
(1 row)
Gibt es eine Möglichkeit, diese Abfrage oder etwas zu strukturieren ähnlich, dass die Spalten mit Namen statt Position eingefügt werden? Ich würde das Ergebnis will, hier zu sein:
pg=# SELECT * FROM x;
a | b
---+---
2 | 1
(1 row)
Der Kontext ist hier, dass der Inhalt der SELECT
an einer anderen Stelle definiert werden als der Gesamt INSERT
Anruf, so ist es schwierig, eine gemeinsame Ordnung zu erzwingen.
Es gibt keine Möglichkeit, dies in SQL zu tun. –
@LaurenzAlbe überprüfen Sie die clevere Antwort unten! – nicolaskruchten