无法将求和函数与派生表结果一起使用

时间:2019-05-01 01:16:41

标签: sql-server select aggregate-functions

  

我有一个作业问题,要求我创建一个选择语句以   计算会计软件包的总成本   分别于1998年安装   属于会计部门的计算机

使用下面的语句,我能够找到符合这些要求的软件包及其成本。

select pack, softcost from software where year(instdate) = 1998 and pack in 
 (select pack from package where PAcKTYPE = 'accounting') and TAGNUM in 
  (select TAGNUM from pc where location = 'sales')

但是,当我尝试使用以下语句来计算这些软成本的总和时,我收到一条错误消息,指出“列'software.SOFTCOST'在选择列表中无效,因为该列未包含在汇总函数或GROUP BY子句。”

select sum(SOFTCOST) from
(select pack, softcost from software where year(instdate) = 1998 and pack in 
 (select pack from package where PAcKTYPE = 'accounting') and TAGNUM in 
  (select TAGNUM from pc where location = 'sales') group by pack) as table1

有人可以引导我朝正确的方向前进吗?我已经附上了第一条select语句的结果和下面数据库中的数据。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您最多只能选择一列,因此不需要分组。删除组应该没问题