Sql 如何在Amazon红移中选择多个填充常量的行?

Sql 如何在Amazon红移中选择多个填充常量的行?,sql,postgresql,amazon-redshift,set-returning-functions,Sql,Postgresql,Amazon Redshift,Set Returning Functions,我已经尝试过常见的PostgreSQL答案,但它似乎不适用于红移: SELECT * FROM VALUES (1) AS q (col1); ERROR: 42883: function values(integer) does not exist 我需要这个,因为出于某种原因,我不能使用UNION-ALL。非常感谢您的帮助。正确的Postgres语法为: SELECT * FROM (VALUES (1)) AS q (col1); 对于多行(无需像请求的那样使用UNION ALL),

我已经尝试过常见的PostgreSQL答案,但它似乎不适用于红移:

SELECT  * FROM VALUES (1) AS q (col1);

ERROR: 42883: function values(integer) does not exist

我需要这个,因为出于某种原因,我不能使用
UNION-ALL
。非常感谢您的帮助。

正确的Postgres语法为:

SELECT * FROM (VALUES (1)) AS q (col1);
对于多行(无需像请求的那样使用
UNION ALL
),您可以使用临时表。注():

会话结束时会自动删除临时表 它是在其中创建的

如果
UNION ALL
将是一个选项:

SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;

我自己也遇到了这个。以下是红移中不支持Postgres功能的文档:
CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);

SELECT  * FROM q;
SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;