Sintaks Postgres yang benar adalah:
SELECT * FROM (VALUES (1)) AS q (col1);
Satu set tanda kurung tidak ada.
Tetapi tampaknya Redshift bahkan tidak mendukung VALUES
ekspresi di luar INSERT
(seperti yang dilakukan Postgres modern). Jadi, untuk baris tunggal :
SELECT * FROM (SELECT 1) AS q (col1);
Untuk beberapa baris (tanpa menggunakan UNION ALL
seperti yang diminta) Anda dapat menggunakan tabel sementara. Catatan (per dokumentasi
):
CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);
SELECT * FROM q;
Jika UNION ALL
akan menjadi pilihan:
SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;