【发布时间】:2016-11-10 22:21:00
【问题描述】:
我有两个表,Employees 和 Job_History。这两个表有三个相同的列:employee_id、job_id 和 department_id。
我需要显示Employees 表中的last_name 和department_id,以及每个员工工作20 周年的日期。
员工开始工作的日期位于 Job_History 表的 start_date 中。周年纪念日需要按如下格式显示:1 月 23 日、19 82 日。
select e.last_name, e.department_id, count(*) as "20 Year Anniversary"
from job_history l
inner join employees e on e.department_id = l.department_id
group by e.department_id, e.last_name
having count(*) = l.start_date + 20;
现在当我运行它时,它告诉我这不是一个组函数。如何将其更改为正确的语法?
【问题讨论】:
-
这不是一个代码编写(或家庭作业)网站。向我们展示您已经走了多远以及您遇到了哪些问题。这听起来像是一个相当简单的任务:加入表格,找到最早的日期,加上二十年? (为什么标题中的日期是“未知的”?)
-
抱歉,我在完成所有操作之前不小心点击了“发布您的问题”。
-
这是错误的:
having count(*) = l.start_date + 20;==>l.start_date + 20不是组函数。