2017-04-22 107 views
0

我有一個要求做銷售分析週報 出認沽想下面sql每日,每週,不同產品的年度報告?

年:

product_name  week1_date   week2_date  week3_date  week4_date '''' 
    name1   8     40    0    0 
    name2   2     42    2    0 
    name3   5     47    1    0 

我的架構是

產品

id 
sys_sku 
desc 
selling_price 
cost_price 
supplier_id 

銷售

id 
product_id 
sold_to 
date 
quantity 
desc 

我想按日期不同的產品

做總和(數量)組的幫助將很可觀

+0

SQLite沒有DateTime類型,也沒有在轉動內置,所以它不會完全直線前進 –

+0

我們可以做到這一點到任何其他數據庫,postgres –

回答

0

我會回答COS評論有點長,但它不僅僅是一個答案,而是一個暗示。

這有點取決於究竟是你的要求是什麼。你可以使用單個日期參數進行查詢,並使用Case..When聲明查找下一個x周/月等。

假設你使用朱利安類型存儲日期時間,那麼你可以使用整天,你的sql看起來有點像這樣的(僞SQL)

Select product_id, case when date between inputDate and inputDate + 7 then quantity end as week1, case when date between inputDate + 7 and inputDate + 14 then quantity end as week2 from sale where date between inputDate and inputDate + x 

然後,您可以和或組計算銷售相應