正しいPostgres構文は次のようになります:
SELECT * FROM (VALUES (1)) AS q (col1);
括弧のセットがありませんでした。
しかし、RedshiftはVALUES
さえサポートしていないようです。 INSERT
の外部の式 (現代のPostgresのように)。したがって、単一行の場合 :
SELECT * FROM (SELECT 1) AS q (col1);
複数行の場合 (UNION ALL
を使用せずに 要求されたように)一時テーブルを使用できます。注(ドキュメントごと
):
CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);
SELECT * FROM q;
UNION ALL
の場合 オプションになります:
SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;