gpt4 book ai didi

sql - 查看增量日期

转载 作者:行者123 更新时间:2023-11-29 13:09:14 24 4
gpt4 key购买 nike

我有一个包含列的 postgres 表 Prop

date date,
ins1 integer,
insamt1 numeric,
ins2 integer,
insamt2 numeric,
ins3 integer,
insamt3 numeric
ins4 integer,
insamt4 numeric

ins1、ins2....代表月数,insamt1、insamt2...代表金额。该表是从 dbf 导入的遗留数据表。所以我必须使用这个结构。

表格中的一个示例行:

'2017-03-15', 2, 12000.00, 3, 10000.00, 1, 14000.00, 4, 8000

是否可以像这样制作 View :

   date      amount
'2017-04-15' 12000
'2017-05-15' 12000
'2017-06-15' 10000
'2017-07-15' 10000
'2017-08-15' 10000
'2017-09-15' 14000

....

或者我应该构建一个新表并通过脚本插入数据。使用 Postgres 9.4

编辑:客户同意每月支付的公司客户应付的金额。

最佳答案

我认为您可以为此使用横向连接,我在想:

select date + ins * interval '1 month', insamt
from t cross join lateral
(values (ins1, insamt1),
(ins2, insamt2),
(ins3, insamt3),
(ins4, insamt4)
) v(ins, insamt);

编辑:

哦,我想我明白了:

select date + gs.i * interval '1 month',
v.insamt
from t cross join lateral
generate_series(1, ins1 + ins2 + ins3 + ins4) gs(i) cross join lateral
(values (1, ins1, insamt1),
(ins1 + 1, ins1 + ins2, insamt2),
(ins1 + ins2 + 1, ins1 + ins2 + ins3, insamt3),
(ins1 + ins2 + ins3 + 1, ins1 + ins2 + ins3 + ins4, insamt4)
) v(s, e, insamt)
where gs.i between v.s and v.e;

关于sql - 查看增量日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57120887/

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