sql >> Database >  >> RDS >> PostgreSQL

Hoe selecteer je meerdere rijen gevuld met constanten in Amazon Redshift?

De juiste Postgres-syntaxis zou zijn:

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

Er ontbrak een set haakjes.
Maar het lijkt erop dat Redshift niet eens een VALUES ondersteunt uitdrukking buiten INSERT (zoals het moderne Postgres doet). Dus voor een enkele rij :

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

Voor meerdere rijen (zonder gebruik te maken van UNION ALL zoals gevraagd) kunt u een tijdelijke tabel gebruiken. Opmerking (per documentatie ):

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

SELECT  * FROM q;

Als UNION ALL zou een optie zijn:

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



  1. PostgreSQL-queryuitvoer als Excel-bestand

  2. hoe tabellen van openbaar naar ander schema in Postgres te verplaatsen

  3. Hoe seconde naar Tijd te converteren met MYSQL

  4. Roep een opgeslagen procedure correct aan met behulp van Spring Data JPA