存储过程中的SUM

时间:2016-06-24 11:12:11

标签: sql

我试图计算SUM的{​​{1}},但我一直在存储过程中出现此错误

  

列' dbo.ZZ.CNUM在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。

这是我的代码

MEMDISC

应该是什么样的?

1 个答案:

答案 0 :(得分:1)

正如@Lucky和@LukStorms的评论中所建议的,当您使用聚合函数时,您需要GROUP BY所有未包含在聚合函数中的字段。在你的情况下,你需要这样的东西:

select CNUM, DESCRIPT, ZCONTDESC,
   substring(str(OCCDATE),9,2) + '/'+ substring(str(OCCDATE),7,2) + '/' + substring(str(OCCDATE),3,4),
   COWNNUM,
   CAST((CAST(substring(str(ANVDATE),3,4) AS INT) -1) AS CHAR(4))+'-' +substring(str(ANVDATE),3,4),
   sum(MEMDISC)
  from dbo.ZZ
 group by CNUM, DESCRIPT, ZCONTDESC,
   substring(str(OCCDATE),9,2) + '/'+ substring(str(OCCDATE),7,2) + '/' + substring(str(OCCDATE),3,4),
   COWNNUM,
   CAST((CAST(substring(str(ANVDATE),3,4) AS INT) -1) AS CHAR(4))+'-' +substring(str(ANVDATE),3,4),