Cú pháp Postgres chính xác sẽ là:
SELECT * FROM (VALUES (1)) AS q (col1);
Thiếu một bộ dấu ngoặc đơn.
Nhưng có vẻ như Redshift thậm chí không hỗ trợ VALUES
biểu thức bên ngoài INSERT
(giống như Postgres hiện đại làm). Vì vậy, đối với một hàng đơn :
SELECT * FROM (SELECT 1) AS q (col1);
Đối với nhiều hàng (không sử dụng UNION ALL
như yêu cầu) bạn có thể sử dụng một bảng tạm thời. Lưu ý ( theo tài liệu
):
CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);
SELECT * FROM q;
Nếu UNION ALL
sẽ là một lựa chọn:
SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;