【发布时间】:2019-06-15 22:40:58
【问题描述】:
我正在尝试使用 SQL 中的以下代码创建此结果“Sabre 已 12 岁”句子。
select
businessname+' is ' + cast(count(e.id)as varchar(11))
from
Department d
join
EmployeeDepartmentHistory EDH on edh.departmentid = D.departmentid
join
employee e on edh.id = e.id
group by
name
+' years old'
如果我要运行这部分代码
select
businessname+' is ' + cast(count(e.id)as varchar(11))
from
Department d
join
EmployeeDepartmentHistory EDH on edh.departmentid = D.departmentid
join
employee e on edh.id = e.id
group by
name
我会得到“Sabre 12 岁”
但我在最后获取“岁”字符串时遇到问题。
我收到带有完整代码的错误消息
消息 8120,第 16 级,状态 1,第 4 行
列 'HumanResources.Department.Name' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。
【问题讨论】:
-
您需要将
+' years old'部分放在顶行的末尾,而不是放在无意形成group by子句一部分的底部。
标签: sql sql-server-2008 subquery