[SQL ] 同时列出最资浅与最资深员工于1 query

楼主: AmigoSafin   2019-07-14 10:49:12
(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称:oracle
数据库版本:18c
内容/问题描述:
大家好
小的想请教各位高手如果要同时列出最资深与最资浅的员工于1 query
我的code出现错误:"YRSEXPERIENCE": invalid identifier
不知道是否方便给小的一点指点?
谢谢了!!
select d.department_name, rank() over (order by
sum(round((SYSDATE-e.hire_date)/365.24,0)) DESC) AS YRSEXPERIENCE
from RITDB_department d LEFT JOIN RITDB_employee e ON
d.department_id=e.department_id
where YRSEXPERIENCE = (select max(YRSEXPERIENCE) from RITDB_employee e)
or YRSEXPERIENCE = (select min(YRSEXPERIENCE) from RITDB_employee e)
SYSDATE-hire_date是用于计算工作年资
作者: criky (2501-2)   2019-07-14 13:37:00
选max,min.hire date就可以了吧
楼主: AmigoSafin   2019-07-15 02:52:00
yes,但要列出 department detail题目要求
作者: olycats ( )   2019-07-15 18:48:00
错误讯息的意思是RITDB_employee这个table找不到名称为YRSEXPEEIENC的字段E*找不到名称为YRSEXPERIENCE的字段
作者: bobobobo (BoBo)   2019-07-15 23:32:00
YRSEXPERIENCE是你定义出来的别名,下方子查询并不存在,最简单的改法是用原本计算的方式取代下方YRSEXPERIENCE
楼主: AmigoSafin   2019-07-30 11:09:00
yes, I did that and worked. Thank you so much:)

Links booklink

Contact Us: admin [ a t ] ucptt.com