sql - 我想我计算每个仓库的总收入是错误的
问题描述
我有一个正在处理的问题,我希望有人仔细检查我的代码,因为我正在尝试计算数据库中每个仓库的收入并且返回值似乎很高 - 它返回数千万大多数仓库。不是不可能的高,但足以让我再看一眼。
这是我的代码:
SELECT WAREHOUSES.WAREHOUSE_ID, WAREHOUSES.WAREHOUSE_NAME, SUM(ORDER_ITEMS.QUANTITY *
PRODUCTS.LIST_PRICE) AS TOTAL
FROM WAREHOUSES
JOIN INVENTORIES ON INVENTORIES.WAREHOUSE_ID = WAREHOUSES.WAREHOUSE_ID
JOIN PRODUCTS ON PRODUCTS.PRODUCT_ID = INVENTORIES.PRODUCT_ID
JOIN ORDER_ITEMS ON PRODUCTS.PRODUCT_ID = ORDER_ITEMS.PRODUCT_ID
GROUP BY WAREHOUSES.WAREHOUSE_NAME, WAREHOUSES.WAREHOUSE_ID
ORDER BY TOTAL DESC;
我的 SUM 有问题吗?我是 SQL 新手,所以我相信您会发现对这段代码的大量调整——我很想听听!
谢谢!
解决方案
您正在计算仓库内每种产品的总销售额。然后在仓库级别添加它们。
我不认为这是有用的。这绝对是高估了销售额。
我不知道仓库级别的“收入”是什么意思。数据模型似乎没有任何迹象表明哪个仓库为给定订单提供了产品。
我最好的猜测是“收入”意味着“潜在收入”。也就是说,对于仓库中所有库存的产品,如果它们全价出售,可以产生多少收入?
提示:此计算与订单或订单线无关。它只需要在产品和库存之间进行计算。