【发布时间】:2020-03-19 15:17:33
【问题描述】:
我在 PostgreSQL 中有一个这样的表,其中包含 3 个初始列,分别称为 Project、Size 和 StartDate(见下文):
| Project | Size | StartDate |
|---|---|---|
| Project1 | 88 | 2020-06-15 |
| Project2 | 105 | 2020-03-01 |
我需要在 StartDate 列旁边添加 12 列,并将初始表格扩展到 15 列。所有新列都代表给定年份(2020 年)的月份,它们将包含 0 和基于从 Size 和 StartDate 列派生的条件逻辑计算的值。条件如下:如果 StartDate 属于特定月份,则该月获得 value=Size,之后每个月的 Value=Value-50 直到值 >0。请检查以下预期结果:
| Project | Size | StartDate | Jan | Feb | Mar | Apr | Mai | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Project1 | 88 | 2020-06-15 | 0 | 0 | 0 | 0 | 88 | 38 | 0 | 0 | 0 | 0 | 0 | 0 |
| Project2 | 105 | 2020-03-01 | 0 | 0 | 105 | 55 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
【问题讨论】:
标签: python-3.x postgresql calendar conditional-statements series