2015-07-03 64 views
0

我有一個這樣的數據庫:如何按星期總結數據組但從頭開始總結?

Entry_No Week Registering_Date Bin_Code Item_No Quantity 
===================================================================== 
1   26  6/26/2015   BIN 1  A   10 
2   26  6/26/2015   BIN 1  B   20 
3   26  6/26/2015   BIN 1  C   30 
4   26  6/26/2015   BIN 1  D   40 
5   27  6/29/2015   BIN 1  A   -3 
6   27  6/29/2015   BIN 2  A   3 
7   27  6/29/2015   BIN 1  A   -2 
8   27  6/29/2015   BIN 3  A   2 
9   28  7/5/2015   BIN 1  B  -15 
10   28  7/5/2015   BIN 3  B   15 
11   28  7/5/2015   BIN 1  C  -25 
12   28  7/5/2015   BIN 2  C   25 
13   28  7/5/2015   BIN 1  B   50 

而且我想通過BIN_CODE總結組和ITEM_NO的一週,但在數據的開始..我知道如何通過一週總結組,但它只能說明上一週彙總(而不是從開始)

而結果我想到的是這樣的:

WEEK BIN CODE ITEM NO QUANTITY 
==================================== 
26 BIN 1  A  10 
26 BIN 1  B  20 
26 BIN 1  C  30 
26 BIN 1  D  40 
26 BIN 2  A   - 
26 BIN 2  B   - 
26 BIN 2  C   - 
26 BIN 2  D   - 
26 BIN 3  A   - 
26 BIN 3  B   - 
26 BIN 3  C   - 
26 BIN 3  D   - 
27 BIN 1  A   5 
27 BIN 1  B  20 
27 BIN 1  C  30 
27 BIN 1  D  40 
27 BIN 2  A   3 
27 BIN 2  B   - 
27 BIN 2  C   - 
27 BIN 2  D   - 
27 BIN 3  A   2 
27 BIN 3  B   - 
27 BIN 3  C   - 
27 BIN 3  D   - 
28 BIN 1  A   5 
28 BIN 1  B   55 
28 BIN 1  C   5 
28 BIN 1  D   40 
28 BIN 2  A   3 
28 BIN 2  B   - 
28 BIN 2  C   25 
28 BIN 2  D   - 
28 BIN 3  A   2 
28 BIN 3  B  15 
28 BIN 3  C   - 
28 BIN 3  D   - 

對不起我在這裏新手寫一個很好的問題。這裏是圖像:

enter image description here

enter image description here

你能幫幫我嗎?

由於之前:)

+0

這不是database.Its表 –

回答

0

希望這個作品:

SELECT 
    t.Week AS WEEK, 
    t.Bin_Code AS BIN_CODE, 
    t.Item_No AS ITEM_NO, 
    SUM(CASE WHEN items.Item_No = t.Item_No THEN items.Quantity ELSE 0 END) AS QUANTITY 
FROM your_table as t 
CROSS JOIN (SELECT DISTINCT Item_No FROM your_table) AS items 
GROUP BY 
    t.Week, 
    t.Bin_Code 
ORDER BY 
    1,2,3 
0

嘗試此查詢

select Week,Registering_Date,Bin_Code,Item_No, case when asum>0 then asum else '-' end as QUANTITY 
from(
select Week,Registering_Date,Bin_Code,Item_No,sum(case when Quantityfrom>0 then quentity else o end) as asum 
from tablename 
group by Week,Bin_Code,Item_No)a