所以我试图在一家小公司的数据库中调查库存周转率。我基本上在做的是获取 Items 表并将其加入 POLineItemReceipts 表,然后我将 Items 表加入 SalesTransactionLineItems 表并试图找出我购买的每件商品的数量(在 POLineItemReceipts 中)以及我购买了多少已售出(在 SalesTransactionLineItems 中),然后将这两个数字相除以查看我的营业额。
我的查询适用于每个单独的表,即 SalesTransactionLineItems 和 POLineItemReceipts,但是当我尝试将两个表集成到一个查询中时,它会为我的 SUM(Quantity) 列提供随机的奇怪数字。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 Server 中使用不同的标题运行查询)
不知道如何解决这个问题。任何帮助,将不胜感激...