Oracle SQL使用交叉制表来获取输出

时间:2017-07-07 13:22:19

标签: sql oracle plsql

我有两张名为 emp 的表格& emp_history 有这样的记录 -

emp table -

emp_ID   ename
e001     abc
e002     pqr
e003     xyz
e004     lmn

emp_history表 -

sid    from_emp     to_emp
01      e001        e002
02      e002        e003
03      e003        e004
04      e004        e004

想要在emp_history表中获取输出ename而不是emp_ID,就像那样 -

sid    from_emp     to_emp
01      abc         pqr
02      pqr         xyz
03      xyz         lmn
04      lmn         lmn

1 个答案:

答案 0 :(得分:0)

join emp表两次获取这些名称。

select eh.sid,efrom.ename,eto.ename
from emp_history eh
join emp efrom on efrom.emp_id=eh.from_id
join emp eto on eto.emp_id=eh.to_date