如何获得所有仓库存在的产品?

时间:2010-10-23 09:57:46

标签: sql

我有一个问题作为标题,我想得到每个仓库中出现的产品, 我不知道我什么时候想的很长时间,我发现我是如此的狡猾,

Thare是我的sql server数据库中的三个表:

产品 (   的productID,   名称,型号,   尺寸,   颜色 )

仓库 (   warehouseID,   名称,   地址 )

库存 (   warehouseID,   的productID,   数量 )

我希望有人帮我看看,可以编写获得结果的SQL

谢谢。

1 个答案:

答案 0 :(得分:3)

使用GROUP BY计算每个产品所在的仓库数量。接受此计数等于仓库总数的行。

SELECT productID
FROM Inventory
WHERE quantity > 0
GROUP BY productID
HAVING COUNT(*) = (SELECT COUNT(*) FROM Warehouse)

这假设(productID,warehouseID)在库存表中是唯一的。如果不是,请使用COUNT(DISTINCT warehouseID)代替COUNT(*)