微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法根据 Postgres 中的计数器列重复行?

如何解决有没有办法根据 Postgres 中的计数器列重复行?

我有两个表 A 和 B。

A 有一个表 B 中行的 id 和一个计数器:

b_id  integer not null references B(id),count integer not null default 1

Postgres 有没有办法返回 A 的查询,其中 B 中的行重复了 count 次?

解决方法

是的。使用generate_series()

select t.*,n
from t cross join lateral
     generate_series(1,t.count,1) gs(n);

以上实际上是编写逻辑的冗长方式。我更喜欢上面的内容,因为它对正在发生的事情非常明确。但是,您可以将其简化为:

select t.*,generate_series(1,1) as n
from t;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。