在有和没有连接的sql中聚合

时间:2016-12-14 04:51:43

标签: sql

这是我到目前为止所拥有的。我从SUM获得的值远远高于我没有加入时获得的值。我无法弄清楚为什么会这样?

Address of Day: 0xbfb91f98
Address of Month: 0xbfb91f9a
Address of day and month is at address: bfb91f98
integer value of Day and Month is :925905200

它给出了不同的值:

 SELECT 
  SUM(ingrn.passed_qty)
  FROM
  erp.fabric_grn ingrn
  LEFT JOIN
  erp.fabric_outgrn outgrn 
  ON
  UPPER(ingrn.fab_id) = outgrn.out_id
  GROUP BY ingrn.fab_id

1 个答案:

答案 0 :(得分:1)

您正在完成要返回的整个数据集。

示例:

Table: fabric_grn
fab_id | passed_qty
1        10

Table: fabric_outgrn
fab_id | another_column
1        xyz
1        zyx

例如,如果您对上述数据进行了第一次查询:它将返回10的总和。

但是,由于您在第二个查询中继续加入fabric_outgrn,它会返回两个行。这将是10 + 10 = 20。

这就是你看到差异的原因。