我正在开发一种软件,用于显示用户使用不同标准搜索的备件。
备件位于一个表中(实际上是一个扁平的BOM结构),而库存数量在另一个表中。库存数量有点问题,因为1个备件可能有0到5个不同的位置(行),每个位置(行)可能有不同的数量。这意味着总库存数量必须来自所有不同的位置(行)。
请将备件放在表备件中,并将库存数量放在 stockQ 中。通过 ITEMID 加入,这是两个表中的备用键。
我如何实现这一目标?通常一个查询会产生50到500个备件。我不想一次对每个零件进行库存量检查。
编辑:修复了错误标记,用oracle替换了mysql。
答案 0 :(得分:6)
如果我理解正确,你需要总量而不是不同位置的数量。您可以使用stockq中的总和数量来实现此加入。 我不确定mysql sintax但是这个查询应该完成这项工作
select *
from spareparts S
join (select ITEMID, sum(quantity) as quantity from stockQ group by ITEMID) as Q
on S.ITEMID = Q.ITEMID