我有两个表 emp_master 和 transfer。对于emp_master 中的每个employee_id,传输表中可以有多个条目。我想根据 date_of_tansfer 从传输表中获取最新记录,并使用 emp_master 中的数据显示它。我写了一个这样的查询,但它不起作用。我收到错误“EMP.EMPLOYEE_ID:无效标识符”。如果我用那个employee_id对其进行硬编码,我可以获得单个员工的详细信息..但是我如何修改它以获取所有员工的数据..
select distinct emp.employee_id,trnsf.OU
from emp_master emp
left join (select * from (select * from transfer where employee_id = emp.employee_id
and date_of_transfer <= SYSDATE order by date_of_transfer desc) where rownum = 1) trnsfr
on trnsfr.EMPLOYEE_ID = emp.employee_id
CREATE TABLE "EMP_MASTER"
( "EMPLOYEE_ID" NUMBER(10,0),
"FIRST_NAME" VARCHAR2(30 BYTE),
"MIDDLE_NAME" VARCHAR2(30 BYTE),
"SURNAME" VARCHAR2(30 BYTE),
)
CREATE TABLE "TRANSFER"
( "EMPLOYEE_SR_NO" NUMBER,
"EMPLOYEE_ID" NUMBER(10,0),
"DATE_OF_TRANSFER" DATE,
"OU" VARCHAR2(30 BYTE)
)