PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie wähle ich mehrere mit Konstanten gefüllte Zeilen in Amazon Redshift aus?

Die korrekte Postgres-Syntax wäre:

SELECT * FROM (VALUES (1)) AS q (col1);

Eine Reihe von Klammern fehlte.
Aber anscheinend unterstützt Redshift nicht einmal VALUES Ausdruck außerhalb von INSERT (wie es das moderne Postgres tut). Also für eine einzelne Reihe :

SELECT * FROM (SELECT 1) AS q (col1);

Für mehrere Zeilen (ohne UNION ALL zu verwenden wie gewünscht) können Sie eine temporäre Tabelle verwenden. Hinweis (pro Dokumentation ):

CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);

SELECT  * FROM q;

Wenn UNION ALL wäre eine Option:

SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;