我需要运行一个选择而不实际连接到任何表。我只需要预定义一组硬编码的值即可:
foo
bar
fooBar
我想遍历这些值。我可以:
select 'foo', 'bar', 'fooBar';
但这将其返回为一行:
?column? | ?column? | ?column?
----------+----------+----------
foo | bar | fooBar
(1 row)
我正在使用Postgresql。
Answers:
select a
from (
values ('foo'), ('bar'), ('fooBar')
) s(a);
http://www.postgresql.org/docs/current/static/queries-values.html
SELECT x, 2 y FROM unnest('{1,2,3}'::int[]) t(x);
t(x)
和t2(x)
等,您可以用横向JOIN,CROSS JOIN,相交,等等,并表示数据类型。