PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como selecionar várias linhas preenchidas com constantes no Amazon Redshift?


A sintaxe correta do Postgres seria:
SELECT * FROM (VALUES (1)) AS q (col1);

Um conjunto de parênteses estava faltando.
Mas parece que o Redshift nem mesmo suporta um VALUES expressão fora de INSERT (como o Postgres moderno faz). Portanto, para uma linha única :
SELECT * FROM (SELECT 1) AS q (col1);

Para várias linhas (sem usar UNION ALL como solicitado) você pode usar uma tabela temporária. Observação (por documentação ):
CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);

SELECT  * FROM q;

Se UNION ALL seria uma opção:
SELECT 1 AS col1
UNION ALL SELECT 2
UNION ALL SELECT 3;