如何在 PostgreSql 中多次选择单行

Gee*_*ior 0 sql postgresql

我想在 PostgreSQL 中打印 4 次同一行,如何实现?

Table : mytable

Id   |  name
------------
 1   |  foo
 2   |  bar
 3   |  zzz
Run Code Online (Sandbox Code Playgroud)

我想要类似的东西

Select 4x mytable.* from mytable where id=1
Run Code Online (Sandbox Code Playgroud)

结果应该是

Id   |  name
------------
 1   |  foo
 1   |  foo
 1   |  foo
 1   |  foo
Run Code Online (Sandbox Code Playgroud)

IMS*_*SoP 8

您可以对 交叉联接generate_series(1,4),这将返回一个包含数字 1 到 4 的表:

SELECT mytable.*
FROM mytable 
CROSS JOIN generate_series(1,4) as x
WHERE id=1
Run Code Online (Sandbox Code Playgroud)

对于原始结果集中的每一行,将有一个副本,旁边是 1,一个副本是 2,依此类推。