我的表格是关于库存项目,库存水平和所需的数字。以下是一个例子:
Part Sub Part Pieces Required Pieces In Stock
Barbie Legs 2 1000
Barbie Arms 2 5000
Barbie Head 1 20
Barbie Torso 1 40000
Dora Legs 2 1000
Dora Arms 2 5000
Dora Head 1 0
Dora Torso 1 40000我想让我的最终结果看起来像:
Part No: of dolls that can be built
Barbie 20
Dora 0因此,逻辑是,我们需要一个最小数量的每一个部分,以形成一个完整的娃娃。如果一个必需的部件没有库存,那么就不能制造娃娃。当我们需要某些部分中的2个部分,而其他部分中只需要一个部分时,复杂性就会出现。如何使用Server实现这一目标?
提前感谢您的帮助和时间。
发布于 2015-09-28 15:01:03
SELECT part, MIN([Pieces In Stock]/[Pieces Required]) AS PossibleCompleteDolls
FROM tblName
WHERE [Pieces Required] <> 0
GROUP BY part;这里的WHERE子句只是为了防止除法为零。
发布于 2015-09-28 15:00:53
首先,添加一列,说明每一段可以生成多少
SELECT *, CAST([Pieces In Stock]/[Pieces Required] as INTEGER) AS canmake
FROM TABLE然后按部分分组,然后取最小值。
SELECT Part, min(canmake) as [No: of dolls that can be built]
FROM (
SELECT *, CAST([Pieces In Stock]/[Pieces Required] as INTEGER) AS canmake
FROM TABLE
WHERE [Pieces Required] != 0
) T
GROUP BY Parthttps://stackoverflow.com/questions/32825957
复制相似问题