SAP HANA-如何创建一个动态查询,查看x日期,为我提供x日期前后2周的所有记录?

时间:2019-04-11 03:38:07

标签: dynamic sap hana

我正在使用SAP HANA,并且有两个表。两个表都有

  1. 客户编号
  2. 交易编号
  3. 交易日期
  4. Transaction_Week
  5. 消费
  6. 付款方式

两个表之间信息类型的唯一区别是Means_of_Payment。表1的交易用借记卡或信用卡支付,表2的交易用礼品卡或代金券支付。表1中的客户与表2中的客户相同

重点:客户大多在4月使用礼品卡/代金券

我的目标是:客户在4月交易之前2周和4月交易之后2周的花费是多少?想法是查看使用礼品卡/凭证后他们的支出是否以及如何改变

问题:每个客户的4月交易日期会有所不同,因此我需要创建一个动态查询,该查询将查询4月份的客户交易日期(表2),并给我他们在该日期前后2周的花费(表1),我真的不确定如何执行此操作。

预期结果:客户1 Apr交易日期= 1/04/2018,因此他们的相关日期范围是1/04/2018之前的2周和之后的2周。 客户4月2日交易日期= 5/04/2018,因此其相关日期范围为5/04/2018之前的2周和之后的2周。

我想返回每个客户相关日期范围内的交易编号,支出和均值付款

有什么想法吗?

在此先感谢您的帮助

我只有连接两个表的代码

SELECT *
FROM "Table2" AS A
LEFT JOIN "Table1" AS B
ON A.CUSTOMER = B.CUSTOMER_NUMBER

1 个答案:

答案 0 :(得分:0)

尝试这个:

SELECT cards.*
FROM "Table2" AS coupons

    JOIN "Table1" AS cards
ON coupons.CUSTOMER = coupons.CUSTOMER_NUMBER
    and cards.Transaction_Date between ADD_DAYS(coupons.Transaction_Date, -14) and 
              ADD_DAYS(coupons.Transaction_Date, 14)