sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan vælger man flere rækker fyldt med konstanter i Amazon Redshift?

Den korrekte Postgres-syntaks ville være:

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

Der manglede et sæt parenteser.
Men det ser ud til, at Redshift ikke engang understøtter en VALUES udtryk uden for INSERT (som moderne Postgres gør). Så for en enkelt række :

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

For flere rækker (uden at bruge UNION ALL som anmodet) kan du bruge en midlertidig tabel. Bemærk (pr. dokumentation ):

CREATE TEMP TABLE q(col1 int);
INSERT INTO q(col1)
VALUES (1), (2), (3);

SELECT  * FROM q;

Hvis UNION ALL ville være en mulighed:

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



  1. Kan ikke hente data fra mysql-databasen til ListView i min Android-applikation

  2. Vigtigheden af ​​varchar-længde i MySQL-tabel

  3. Brug af Django ORM i tråde og undgå for mange klientundtagelser ved at bruge BoundedSemaphore

  4. Hvordan finder man ud af, om en dato passer til et interval i enten PHP eller MySQL?