无法根据作业获得所需的输出

时间:2015-06-18 14:43:28

标签: sql oracle

我有所有常规14行的emp表。 我想编写一个查询来扫描表并以下列方式返回 这意味着它将根据作业返回输出。如果它第一次看到总统它返回那一行然后它扫描到它看到经理的下一个工作并返回它而不返回任何其他经理等等。因此,对于每个新作业,它会看到它返回该行并传递给下一个新作业。感谢

7839    KING    PRESIDENT       17-NOV-81   5000        10
7698    BLAKE   MANAGER 7839    01-MAY-81   2850        30
7788    SCOTT   ANALYST 7566    19-APR-87   3000        20
7369    SMITH   CLERK   7902    17-DEC-80   800         20

请帮忙

感谢

1 个答案:

答案 0 :(得分:2)

这将返回每个作业的第一个人(按字母顺序排列的姓氏):

EMPLOYEES

<强>输出:

(我的EMPLOYEE_ID LAST_NAME JOB_TITLE MANAGER_ID HIRE_DATE SALARY DEPARTMENT_ID ----------- ------------------------- ----------------------------------- ---------- --------- ---------- ------------- 206 Gietz Public Accountant 205 07-JUN-02 8300 110 205 Higgins Accounting Manager 101 07-JUN-02 12008 110 200 Whalen Administration Assistant 101 17-SEP-03 4400 10 100 King President 17-JUN-03 24000 90 102 De Haan Administration Vice President 100 13-JAN-01 17000 90 110 Chen Accountant 108 28-SEP-05 8200 100 108 Greenberg Finance Manager 101 17-AUG-02 12008 100 203 Mavris Human Resources Representative 101 07-JUN-02 6500 40 105 Austin Programmer 103 25-JUN-05 4800 60 201 Hartstein Marketing Manager 100 17-FEB-04 13000 20 202 Fay Marketing Representative 201 17-AUG-05 6000 20 204 Baer Public Relations Representative 101 07-JUN-02 10000 70 116 Baida Purchasing Clerk 114 24-DEC-05 2900 30 114 Raphaely Purchasing Manager 100 07-DEC-02 11000 30 148 Cambrault Sales Manager 100 15-OCT-07 11000 80 174 Abel Sales Representative 149 11-MAY-04 11000 80 192 Bell Shipping Clerk 123 04-FEB-04 4000 50 130 Atkinson Stock Clerk 121 30-OCT-05 2800 50 121 Fripp Stock Manager 100 10-APR-05 8200 50 表有109行......虽然有19个不同的工作)

vw