我不能够产生这个问题的预期效果:的Oracle SQL输出错误
显示按字母顺序排列的姓名,职位,薪水,对于谁赚不到收入最高的工会组织员工
每个员工部门编号- 工会员工没有副总裁 的管理者总统和不销售或营销部门的工作
- 全名应显示为名字姓氏,应该有标题的员工。
- 工资应该用=符号填充,直到12个字符的宽度。它应该有一个别名薪水。
- 工资被格式化为货币金额,包括。千分隔符,但不包含小数点
- 将Employees名称的宽度限制为25个字符。
输出线应该是这样的样本行:
Jonathon Taylor SA_REP ==== $8,600 80
我的查询到目前为止:
select last_name || ', ' || first_name "full name", job_id, salary, department_id
from employees
where salary < ANY
(SELECT MAX(salary)
from employees e join departments d
where e.job_id <> 'AC_MGR' OR 'AD_VP' OR 'AD_PRES'
AND d.department_name <> 'SALES' OR 'MARKETING'
GROUP BY department_id)
如果有人能帮助我,并指出我在如何正确的方向以获得正确的输出,这将不胜感激。谢谢!
为什么在max子查询中分组? –
围绕'OR'的Parens。实际上,表达式甚至不是有效的:你想'e.job不在'('AC_MGR','AD_VP','AD_PRES')'中。与'department_name'一样。并同意你也不需要“GROUP BY”。一旦你的子查询返回一行,'ANY'将不再是必需的。 – shawnt00
ORA-00905:缺少关键字 00905. 00000 - “丢失的关键字” *原因: *动作: 行错误:6列:15 – 13design