De juiste Postgres-syntaxis zou zijn:
SELECT * FROM (VALUES (1)) AS q (col1);
Er ontbrak een set haakjes.
Maar het lijkt erop dat Redshift niet eens een VALUES
ondersteunt uitdrukking buiten INSERT
(zoals het moderne Postgres doet). Dus voor een enkele rij :
SELECT * FROM (SELECT 1) AS q (col1);
Voor meerdere rijen (zonder gebruik te maken van UNION ALL
zoals gevraagd) kunt u een tijdelijke tabel gebruiken. Opmerking (per documentatie
):
CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);
SELECT * FROM q;
Als UNION ALL
zou een optie zijn:
SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;