选择没有表格的硬编码值

时间:2013-04-11 12:19:39

标签: postgresql

我需要运行一个select而不实际连接到任何表。我只需要一个预定义的硬编码值集:

foo
bar
fooBar

我想循环使用这些值。我能做到:

select 'foo', 'bar', 'fooBar';

但是这会将其作为一行返回:

 ?column? | ?column? | ?column? 
----------+----------+----------
 foo      | bar      | fooBar
(1 row)

我正在使用Postgresql。

3 个答案:

答案 0 :(得分:72)

select a
from (
    values ('foo'), ('bar'), ('fooBar')
) s(a);

http://www.postgresql.org/docs/current/static/queries-values.html

答案 1 :(得分:13)

使用unnest()

  

将数组展开为一组行

select unnest(array['foo', 'bar', 'fooBar']);

demo

答案 2 :(得分:2)

Postgres SQL:

对于作为单行多列表示的静态数据输出,请使用以下查询:

select a,b,c from (values('foo','bar','fooBar')) s(a,b,c);

此 SQL 查询的结果:

enter image description here

相关问题