0

我正在尝试整理一个Self JoinusingGroup By子句,以查看哪个人在各自的工作中获得最高的报酬,但我不断收到此错误 00904. 00000 - "%s: invalid identifier"

以下是我目前正在尝试修复的代码:

Select a.*,b.sal
From EMP a,(Select job,MAX(sal)
            From EMP
            Group By job) b
Where a.empno = b.empno

我做了一些研究,但找不到任何与我正在做的事情有关的东西(也许是因为我正在做的事情太简单了?),但我仍在寻找任何能够为我指明正确方向的东西。提前致谢。

4

2 回答 2

0

您没有empno在子查询中返回的名为的列。我认为您想要这样的东西,它将max(sal)根据工作为每个员工返回:

Select a.*, b.sal
From EMP a
inner join
(
  Select job, MAX(sal) sal
  From emp
  Group By job
) c
   on a.job = b.job
于 2012-12-14T17:13:07.153 回答
0

试试这个:

Select a.*
From EMP a
INNER JOIN
( 
   Select job, MAX(sal) MaxSal
   From EMP
   Group By job
) b ON a.job = b.job AND a.sal = b.MaxSal
于 2012-12-14T17:13:38.353 回答