操作不同的表并显示其中一个表的信息

  • 本文关键字:信息 一个 显示 操作 mysql
  • 更新时间 :
  • 英文 :


编写SQL语句,显示库存中没有所有SKU商品的仓库的仓库信息

我尝试了这个查询,但结果:NULL

SELECT SKU
FROM SKU_DATA
WHERE NOT EXISTS
(SELECT 1 FROM INVENTORY 
JOIN WAREHOUSE  ON INVENTORY.WAREHOUSEID = WAREHOUSE.WAREHOUSEID
WHERE SKU_DATA.SKU =INVENTORY.SKU);

这里有不同的表

库存(SKU, WarehouseID SKU_Description, QuantityOnHand, QuantityOnOrder)

Order_Item (OrderNumber, SKU、数量、价格、ExtendedPrice)

Retail_order (OrderNumber、StoreNumber StoreZip, OrderMonth, OrderYear, OrderTotal)

SKU_Data (SKU, SKU_Description、部门买家)

仓库(WarehouseID、WarehouseCity WarehouseState,经理,SquareFeet)

输入图片描述

可能最简单的方法是计算SKU_Data中唯一sku的数量,然后从Inventory中选择所有具有少于该唯一sku数量的WarehouseID

关键的是,这里假设仓库没有SKU表中缺少的SKU。

同样假设Inventory(WarehouseID,SKU)&SKU_Data(SKU)是唯一的

select WarehouseID from Inventory group by SKU
having count(*) < (select count(*) from SKU_Data)

我没有测试过,但我认为这是正确的:)

如果这不起作用,您可以选择count(*)作为一个局部变量,如

select @skunum := count(*) from SKU_Data
select WarehouseID from Inventory group by SKU having count(*) > @skunum

如果您还想检查仓库是否有库存,只需在from Inventory后添加where QuantityOnHand > 0

相关内容

最新更新