因此,我正在研究小公司的數據庫中的庫存週轉。我基本上正在做的是拿着Items表並將其加入到POLineItemReceipts表中,然後我將Items表加入到SalesTransactionLineItems表中,並試圖找出每件物品有多少(在POLineItemReceipts中)以及我有多少I已經售出(在SalesTransactionLineItems中),然後將這兩個數字分開來查看我的營業額。當我加入另一個表時,SQL查詢值發生變化
我的查詢適用於每個單獨的表SalesTransactionLineItems和POLineItemReceipts,但是當我嘗試將兩個表集成到一個查詢中時,它會爲我的SUM(數量)列提供隨機奇怪的數字。 POLineItemReceipts和SalesTransactionLineItems表都有一個SUM,因爲它們都有一個數量列。
我懷疑我的加入會把所有東西都扔掉,但我並不確定。
這裏是我的單獨的查詢
SELECT DISTINCT i.Item_PK
,i.Code
,SUM(p.Quantity) as Y
FROM POLineItemReceipts p JOIN Items i ON i.Item_PK = p.Item_FK
GROUP BY i.Item_PK, i.Code
ORDER BY i.Item_PK
和
SELECT DISTINCT i.Item_PK
,i.Code
,SUM(p.Quantity) as Y
FROM SalesTransactionLineItems p JOIN Items i ON i.Item_PK = p.Item_FK
GROUP BY i.Item_PK, i.Code
ORDER BY i.Item_PK
,然後結合
SELECT DISTINCT i.Item_PK
,i.Code AS Code
,SUM(pr.Quantity) AS TotalPurchased_X
,SUM(tl.Quantity) AS TotalSold_Y
FROM
Items i JOIN POLineItemReceipts pr ON i.Item_PK = pr.Item_FK
JOIN SalesTransactionLineItems tl ON i.Item_PK = tl.Item_FK
WHERE
i.ItemType_FK = 1
GROUP BY
i.Item_PK
,i.Code
ORDER BY
i.Item_PK ASC
要特別注意Item_PK 2和3(Y是totalsold而X totalpurchased。我用SQL服務器中的不同標題運行查詢)
不知道如何解決這個問題。任何幫助,將不勝感激...
當你「組合」你查詢你添加額外的'GROUP BY'字段。他們控制着什麼被彙總。 –
您可以設置[SQL小提琴](http://www.sqlfiddle.com)以顯示您的問題? –
@ PM77-1我不確定你的意思。我拿出除i.Item_PK以外的額外字段,然後從組中刪除其他字段,並得到相同的錯誤結果。 – Carson