首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与库存分析的分组和计数相关的Server查询

问与库存分析的分组和计数相关的Server查询
EN

Stack Overflow用户
提问于 2015-09-28 14:51:50
回答 2查看 107关注 0票数 0

我的表格是关于库存项目,库存水平和所需的数字。以下是一个例子:

代码语言:javascript
复制
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

我想让我的最终结果看起来像:

代码语言:javascript
复制
Part         No: of dolls that can be built

Barbie           20
Dora              0

因此,逻辑是,我们需要一个最小数量的每一个部分,以形成一个完整的娃娃。如果一个必需的部件没有库存,那么就不能制造娃娃。当我们需要某些部分中的2个部分,而其他部分中只需要一个部分时,复杂性就会出现。如何使用Server实现这一目标?

提前感谢您的帮助和时间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-28 15:01:03

代码语言:javascript
复制
SELECT part, MIN([Pieces In Stock]/[Pieces Required]) AS PossibleCompleteDolls
FROM tblName 
WHERE [Pieces Required] <> 0
GROUP BY part;

这里的WHERE子句只是为了防止除法为零。

票数 2
EN

Stack Overflow用户

发布于 2015-09-28 15:00:53

首先,添加一列,说明每一段可以生成多少

代码语言:javascript
复制
 SELECT *, CAST([Pieces In Stock]/[Pieces Required] as INTEGER) AS canmake
 FROM TABLE

然后按部分分组,然后取最小值。

代码语言:javascript
复制
 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 Part
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32825957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档