【发布时间】:2017-08-16 03:21:12
【问题描述】:
我有一些这样的桌子(样品被带到这里)
scores(特定月份28中的每个branch_cust每个月计算一次分数)
Branch_cust model_date score
1 28/12/2013 4
1 28/01/2014 3
1 28/02/2014 2
1 28/03/2014 7
1 28/04/2014 3
1 28/05/2014 5
1 28/06/2014 6
2 28/12/2013 9
2 28/01/2014 10
2 28/02/2014 12
2 28/03/2014 11
2 28/04/2014 10
2 28/05/2014 7
2 28/06/2014 8
贷款:
Branch_cust agreement_date
1 05-01-2014
1 29-01-2014
2 27-02-2014
2 28-02-2014
贷款:
想要的输出:
Branch_cust agreement_date loan_open_score
1 05-01-2014 4
1 29-01-2014 3
2 27-02-2014 10
2 28-02-2014 12
创建loan_open_score的逻辑:
如果协议日期当月的日期小于“28”,则将前一个月的分数带到协议日期的月份。 如果日期大于或等于“28”,则将月份的分数与协议日期的月份相同。
示例:在 branch_cust = 1 的示例数据中,agreement_date 是 05-01-2014 - 意思是 - day = 5 所以我需要回到 2013 年 12 月并从那里获取分数。
任何帮助如何做到这一点?谢谢。我正在考虑“加入”,然后在“..”的情况下减去 1,但是当 sql-teradata 中的日期为“dd-01-YYYY”时,我不知道如何处理这种情况。
更新:日期的列数据类型是日期。
【问题讨论】:
-
列数据类型? (型号日期和协议日期)
-
列数据类型为日期。