我试图在postgresql中给出一个值列表来生成行。例如,如果我有值1, 2, 5, 10, 30, 180
,我想返回:
num
----
1
2
5
10
30
180
我一直试图使用VALUES功能,但没有运气。这是一个尝试失败的例子:
SELECT num
FROM
VALUES (1, 2, 5, 10, 30, 180) as num
答案 0 :(得分:2)
values (1, 2, 5, 10, 30, 180)
会返回包含6列的单个行。
但是你想要六列行一列:
SELECT num
FROM (
VALUES (1), (2), (5), (10), (30), (180)
) as t(num)
as t(num)
为派生表(values
部分)指定别名,该表名为t
,并且只有一列num
。
使用选择列表中的表别名会返回记录,而不是列。