按语句分组会产生太多行

时间:2014-07-11 15:57:07

标签: sql sql-server-2012

我有6个产品系列,我试图找到吞吐量。吞吐量的等式是:throughput = PoundsMade/ActualRunningTime

通过一个简单的PoundsMade语句,我知道SELECT是什么(有6行,因为有6个产品系列)。我使用不同的ActualRunningTime语句计算了SELECT(同样,6个产品系列产生了6行)。

注意:我现在正在使用这些较小的SELECT语句,所以我可以稍后将问题拼凑起来。

因此,当我组合所有内容并为吞吐量编写单个select语句时,它看起来像:

SELECT 
   (SUM(rpt_Line_Shift_Prod.PoundsMade)) / ((24 * 60 * 60) - 
      (SUM(cast(([Production Downtime].[End Time] - [Production Downtime].[Start Time]) as float))))
FROM 
    rpt_Line_Shift_Prod, [Production Downtime]
GROUP BY 
    rpt_Line_Shift_Prod.LineNumber, [Production Downtime].[Line #];

这个较大的SELECT语句会产生36行。我只想要6排。我需要6个产品系列中的每一个的吞吐量值。

问题:

  1. 为什么上述SELECT语句导致36行?
  2. 如何强制它只显示6行?

1 个答案:

答案 0 :(得分:0)

您没有指定连接列。这意味着SQL返回两个表之间的每个组合。 6x6 = 36。

WHERE rpt_Line_Shift_Prod.LineNumber = [Production Downtime].[Line #]
相关问题