sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur väljer man flera rader fyllda med konstanter i Amazon Redshift?

Den korrekta Postgres-syntaxen skulle vara:

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

En uppsättning parenteser saknades.
Men det verkar som om Redshift inte ens stöder en VALUES uttryck utanför INSERT (som moderna Postgres gör). Så, för en en rad :

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

För flera rader (utan att använda UNION ALL som efterfrågat) kan du använda en tillfällig tabell. Obs (per dokumentation ):

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

SELECT  * FROM q;

Om UNION ALL skulle vara ett alternativ:

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



  1. vad är java.io.EOFException, meddelande:Kan inte läsa svar från servern. Förväntas läsa 4 byte, läsa 0 byte

  2. Klassiskt ASP-problem med att ansluta till fjärrbaserad SQL Server-databas

  3. Synkronisera mysql-databaser med Dropbox med MAMP Pro 3

  4. Hur man delar upp Oracle sql-satser för ADO.NET