我已经在网上搜索了这个,但它无法解决我的问题。
我有两个表,一个有10行,另一个有9行
表1
RNUM JOB_ID
---------- ----------
1 AC_ACCOUNT
2 AC_MGR
3 AD_ASST
4 AD_PRES
5 AD_VP
6 FI_ACCOUNT
7 FI_MGR
8 HR_REP
9 IT_PROG
10 MK_MAN
表2
RNUM JOB_ID
---------- ----------
1 AC_ACCOUNT
2 AC_MGR
3 AD_ASST
4 AD_PRES
5 AD_VP
6 FI_ACCOUNT
7 FI_MGR
8 HR_REP
9 IT_PROG
我想加入这两个表,但我希望输出像这样
RNUM JOB_ID RNUM JOB_ID
---------- ---------- ---------- ----------
1 AC_ACCOUNT null null
2 AC_MGR 1 AC_ACCOUNT
3 AD_ASST 2 AC_MGR
4 AD_PRES 3 AD_ASST
5 AD_VP 4 AD_PRES
6 FI_ACCOUNT 5 AD_VP
7 FI_MGR 6 FI_ACCOUNT
8 HR_REP 7 FI_MGR
9 IT_PROG 8 HR_REP
10 MK_MAN 9 IT_PROG
我的第一个代码是
select a.*, b.*
from samp a, samp2 b where a.rnum = b.rnum(+)
但我的代码的结果是
RNUM JOB_ID RNUM JOB_ID
---------- ---------- ---------- ----------
1 AC_ACCOUNT 1 AC_ACCOUNT
2 AC_MGR 2 AC_MGR
3 AD_ASST 3 AD_ASST
4 AD_PRES 4 AD_PRES
5 AD_VP 5 AD_VP
6 FI_ACCOUNT 6 FI_ACCOUNT
7 FI_MGR 7 FI_MGR
8 HR_REP 8 HR_REP
9 IT_PROG 9 IT_PROG
10 MK_MAN null null
我想将表2的第1个条目(AC_ACCOUNT)连接到表1的第2个条目(AC_MGR),就像您在我想要的输出中看到的那样。
我使用rownum作为一种技术,只是为了在我的两个表之间建立连接。
我想我在这里误解了左外连接,请赐教我如何实现我想要的输出。
答案 0 :(得分:0)
一个简单的解决方案是向table1添加一个等于RNUM - 1
的计算列然后加入两个表:
表1。和table2.RNUM
答案 1 :(得分:0)
我相信这个查询可以完成这项任务:
npm cache verify