2016-11-09 74 views
0

我目前正在嘗試輸出產品代碼和移動以顯示我們銷售的產品數量的完整歷史記錄。計算庫存移動歷史

我有兩個表PUB.movementPUB.product

我做了這麼遠

SELECT a."prod-code" AS productcode, count(*) AS Movement 
FROM  (SELECT mov."tran-date", pro."prod-code" 
      FROM  PUB."movement" mov,    
        PUB."product" pro 
      WHERE mov.SKU=pro.SKU 
      AND  mov."move-type" = 'i' 
      AND  pro."prod-group" like 'SLA%') a 
GROUP BY a."prod-code" 

產生的輸出是:

PRODUCTCODE | MOVEMENT 
0490786   1 
0500012   1 
0566003   1 
0566004   1 
0650594   1 
0920127   1 
0920154   1 
1000557M1  1 
1000578M1m  19 

我唯一的問題是,如果超過當時有人開具發票時僅將發票計爲1,而不是發票數量。在PUB.movement中有qty列。我只是不能將它與當前查詢結合以輸出正確的庫存移動。

回答

1

聽起來像是你想qty字段的SUM()而不是運動計數?試試這個:

Select pro."prod-code" As productcode, Sum(mov.qty) As Movement 
    From PUB.movement As mov 
    Inner Join PUB.product As pro On mov.SKU = pro.SKU 
    Where mov."move-type" = 'i' 
    And pro."prod-group" like 'SLA%' 
    Group By pro."prod-code"; 
+0

謝謝,試過你的解決方案,但得到一個列未找到/指定的錯誤。 – Ninsaki

+0

@Ninsaki錯字固定 – mendosi

+0

太棒了!工作過一種享受。只需要將SUM(mvt.qty)更改爲SUM(數量) – Ninsaki