表场景
TABLE1
TRAN_NO | SR_NO |MAT_NAME
---------------------------
001 | 1 |Material 1
001 | 2 |Material 2
TABLE2
TRAN_NO | SR_NO | TEMP
-------------------------
001 | 1 | 10
001 | 2 | 20
001 | 3 | 30
001 | 4 | 40
我想要这样的输出
TRAN_NO | SR_NO |MAT_NAME | TRAN_NO | SR_NO | TEMP
001 | 1 | Material 1 | 001 | 1 | 10
001 | 2 | Material 2 | 001 | 2 | 20
NULL | NULL | NULL | 001 | 3 | 30
NULL | NULL | NULL | 001 | 4 | 40
我尝试了所有类型的联接,包括LEFT,RIGHT,CROSS,但所有联接要么给出匹配的行,要么给出它们的笛卡尔积。
答案 0 :(得分:0)
尝试一下。
select *
from table1 a
right join table2 b on a.sr_no = b.sr_no;
答案 1 :(得分:0)
选择a。,b。 从Table_2 b中离开,在a.TRAN_NO = b.TRAN_NO和a.sr_no = b.sr_no
上加入Table_1 a答案 2 :(得分:0)
使用左联接,如下所示
select t1.*,t2.* from TABLE2 t2 left join TABLE1 t1
on t2.TRAN_NO=t1.TRAN_NO and t2.SR_NO=t1.SR_NO