PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да изберете няколко реда, запълнени с константи в Amazon Redshift?

Правилният синтаксис на Postgres би бил:

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

Липсваше набор от скоби.
Но изглежда Redshift дори не поддържа VALUES израз извън INSERT (както съвременният Postgres прави). И така, за един ред :

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

За няколко реда (без да използвате UNION ALL както е поискано) можете да използвате временна таблица. Забележка (по документация ):

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

SELECT  * FROM q;

Ако UNION ALL би било опция:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Значение на различните подкани на командния ред в PostgreSQL?

  2. Apache Spark:JDBC връзката не работи

  3. Хибернация :Отделете колона, съдържаща двоични данни, които не трябва да се зареждат

  4. Грешка в PostgreSQL „Не можа да се свърже със сървъра:Няма такъв файл или директория“

  5. Postgres where клауза сравнява времево клеймо