2016-09-26 307 views
0

我有一个问题,我已经写了sap hana。sap hana sql日期汇总

基本上有两个表。

第一个表格是一个日期表格,其中包含日历中每一天的日期。第二个表是一个结果表,其中包含客户参考号和每个客户参考号的开始日期和结束日期。在这个客户参考表中,我有大约400万条记录。因此,基本上在查询的内部,我会从01012011开始每天获得400万条记录。必须有一个简单的方法来汇总结果。我已经尝试了一个内部选择查询,但它看起来像hana有性能问题。

我已经写了这样的代码,但是这不是最优的。

select date_sql, count(*) as count 
      from (
       select date_sql 
        from tbl_ref_cal_link tbl_date      
         where date_sql between '2011-01-01' and add_days (to_date(current_date, 'YYYY-MM-DD'), -1)      
    )tbl_date 
      Left join #cust_ref_table M1 
       On tbl_date.date_sql between m1.startdate and m2.enddate)z 

我很感谢任何人的帮助或建议。

回答

0

可以使用组通过这里 而且你需要更改WHERE子句M1在以下SQLScript代码

select 
    date_sql, count(m1.CustomerId) as count 
from (
-- dates table here 
) tbl_date 
Left join cust_ref_table m1 On tbl_date.date_sql between m1.startdate and m1.enddate 
group by date_sql 
的M2