2016-09-26 235 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