sql查询结果

时间:2016-02-09 13:16:09

标签: sql postgresql postgresql-9.4

假设我有一个有两行的表

 id | value |
----+-------+
 1  |   2   |
 2  |   3   |

我想编写一个查询,根据值复制(重复)每一行 我想要这个结果(总共5行):

 id | value |
----+-------+
 1  |   2   |
 1  |   2   |
 2  |   3   |
 2  |   3   |
 2  |   3   |

我正在使用PostgreSQL 9.4。

1 个答案:

答案 0 :(得分:9)

您可以使用generate_series()

select t.id, t.value
from (select t.id, t.value, generate_series(1, t.value)
      from t 
     ) t;

你可以用横向连接做同样的事情:

select t.id, t.value
from t, lateral
     generate_series(1, t.value);