我试图计算SUM
的{{1}},但我一直在存储过程中出现此错误
列' dbo.ZZ.CNUM在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
这是我的代码
MEMDISC
应该是什么样的?
答案 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),