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;