sql >> Databáze >  >> RDS >> PostgreSQL

Jak vybrat více řádků vyplněných konstantami v Amazon Redshift?

Správná syntaxe Postgresu by byla:

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

Chyběla sada závorek.
Zdá se však, že Redshift nepodporuje ani VALUES výraz mimo INSERT (jako to dělá moderní Postgres). Tedy pro jeden řádek :

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

Pro více řádků (bez použití UNION ALL podle požadavku) můžete použít dočasnou tabulku. Poznámka (v dokumentaci ):

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

SELECT  * FROM q;

Pokud UNION ALL byla by možnost:

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



  1. CX_Oracle - import dat z Oracle do datového rámce Pandas

  2. Získejte počet záznamů v podřízené tabulce

  3. Jaká je maximální délka příkazu v Oracle

  4. Nasazení databáze s aktualizacemi