SQL语句值乘以3

时间:2017-01-10 10:57:54

标签: mysql sql select mysql-workbench mysql-error-1064

SUM(ISNULL(FlagHrs,0.00)+ ISNULL(BackFlagSoldHrs,0.00))AS Ttl_EmpFlagHrs

在select语句中使用此语句,但我在Ttl_EmpFlagHrs中获得的值将乘以3,Flaghrs和BackFlaghrs是某个表中存在的不同列。

1 个答案:

答案 0 :(得分:0)

由于没有样本数据或完整查询,因此您迫使我们根据推测进行回答。

根据您的问题,目标是添加FlagHrsBackFlagSoldHrs,当其为空时,将其计为零。

由于您使用的是SUM函数(组函数),因此将添加多行结果并将其显示为单个值。

根据您的问题,很可能单行重复3次(可能是连接的结果),因此总和显示为3次。

您可以通过删除SUM函数并检查实际选择的查询行来验证这一点。

<强>解决方案

  1. 验证加入条件以确保在查询中选择了正确的行
  2. 如果多次添加理论是正确的,您可以使用AVG函数代替SUM函数,结果将等于单行(而不是3x)
  3. 查看是否需要使用DISTINCT关键字删除重复的行(如果不需要的结果)