2015-12-01 5 views
3

мне нужно использовать временную таблицу для моего SQL запроса в сокровищницу вуаля данных:временных таблиц SQL Presto

CREATE TEMPORARY TABLE fakehours (Hour BIGINT); 

INSERT INTO Hour VALUES (0); 
INSERT INTO Hour VALUES (1); 
INSERT INTO Hour VALUES (2); 
INSERT INTO Hour VALUES (3); 
INSERT INTO Hour VALUES (4); 
INSERT INTO Hour VALUES (5); 
INSERT INTO Hour VALUES (6); 
INSERT INTO Hour VALUES (7); 
INSERT INTO Hour VALUES (8); 
INSERT INTO Hour VALUES (9); 
INSERT INTO Hour VALUES (10); 
INSERT INTO Hour VALUES (11); 
INSERT INTO Hour VALUES (12); 
INSERT INTO Hour VALUES (13); 
INSERT INTO Hour VALUES (14); 
INSERT INTO Hour VALUES (15); 
INSERT INTO Hour VALUES (16); 
INSERT INTO Hour VALUES (17); 
INSERT INTO Hour VALUES (18); 
INSERT INTO Hour VALUES (19); 
INSERT INTO Hour VALUES (20); 
INSERT INTO Hour VALUES (21); 
INSERT INTO Hour VALUES (22); 
INSERT INTO Hour VALUES (23); 

Что я могу сделать в Presto, как это?

ответ

0

В зависимости от вашей Presto версии попробовать:

SELECT * FROM UNNEST(SEQUENCE(0,23)) 

или

SELECT * FROM UNNEST(ARRAY[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]) 

Если добиться того, что вы хотите в объединении, короткие наличия временных таблиц, доступных в Presto.

1

Pro tipp, вы даже можете уйти без временной таблицы, используя синтаксис WITH. А затем в следующем SELECT вы можете использовать hours, как если бы это была таблица.

WITH hours AS (SELECT * FROM UNNEST(ARRAY[0,1, ... 22,23]) AS t (hour)) 
SELECT 
    * 
FROM 
    hours 
; 
1

Я хотел бы сделать это:

CREATE TABLE fakehours AS 
WITH hours AS (
SELECT * FROM UNNEST(SEQUENCE(0,23,1)) AS t (hour) 
) 
SELECT * 
FROM hours 
; 
Смежные вопросы