我想使用SQL和Redshift创建下表,但我不确定如何从头开始创建这种表
value
1
2
3
4
5
6
7
8
9
10
我已根据this question
尝试了以下查询SELECT ones.n + 10*tens.n + 1000
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
(VALUES(0),(1),(2),(3),(4),(5) ) tens(n)
WHERE ones.n + 10*tens.n + 1000 BETWEEN 0 AND 10
但是我收到以下错误:
syntax error at or near ","
Position: 52
SELECT ones.n + 10*tens.n + 1000
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
^
(VALUES(0),(1),(2),(3),(4),(5) ) tens(n)
答案 0 :(得分:1)
我不确定你最终要做什么,但是如果你需要一个SELECT语句,你总是可以直接查看union值的内联视图:
SELECT t.Number
FROM
(
SELECT 0 AS Number UNION
SELECT 1 AS Number UNION
SELECT 2 AS Number UNION
SELECT 3 AS Number UNION
SELECT 4 AS Number UNION
SELECT 5 AS Number UNION
SELECT 6 AS Number UNION
SELECT 7 AS Number UNION
SELECT 8 AS Number
) AS t
答案 1 :(得分:0)
为什么不创建一个表然后将数据插入其中呢?
Create table t1(value int);
insert into t1 values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
答案 2 :(得分:0)
根据the official documentation from amazon,{red}正在不支持
。作为一种解决方法,您可以创建自己的临时表并插入十个数字,也可以使用以下内容:
VALUES list used as constant tables
提示:通过使用已知方法,您甚至可以生成大量表:
SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 ...