gpt4 book ai didi

sql - POSTGRES 根据值 n 生成 n 行

转载 作者:行者123 更新时间:2023-11-29 12:41:07 25 4
gpt4 key购买 nike

我需要在 postgres 中生成一个 View ,其中包含基于列中的值 nn 行。

让我们举个例子。我有一个这样的表:

   A*  |  B   |  C
--------------------
abc | def | 4
ghi | jkl | 7

我需要生成这样的 View :

   A  |  B   |  C
------------------------
abc | def | 4
abc | def | 4
abc | def | 4
abc | def | 4
ghi | jkl | 7
ghi | jkl | 7
ghi | jkl | 7
ghi | jkl | 7
ghi | jkl | 7
ghi | jkl | 7
ghi | jkl | 7

有没有办法巧妙地做到这一点?目前,我正在执行 N 个 UNION ALL,其中 N 足够大以涵盖所有情况(例如,在本例中为 7)。

最佳答案

只需使用generate_series():

select t.*, generate_series(1, t.c)
from t ;

如果您不想要结果集中的值,请使用横向连接:

select t.*
from t, lateral
generate_series(1, t.c);

或者:

select t.*
from t cross join lateral
generate_series(1, t.c);

关于sql - POSTGRES 根据值 n 生成 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49778747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com