我需要在类似列上连接2个表,其中列之间的数据略有不同。一个例子:
表1
Key_ID
______
12345678
12345679
12345671
12345672
表2
Doc_Num
_______
Z12345678
Z12345679
Z12345671
Z12345672
这些是两个表之间唯一可关联的列。我需要加入它们才能返回表2中不同列的数据。例如,
SELECT DocTitle, DocDate
FROM Table2
RIGHT JOIN Table1
ON Table2.Doc_Num = Table1.Key_ID
所以我的主要问题是,当我试图加入的每个数据点前面有一个“Z”时,如何加入这两个表?
请原谅我的无知......
答案 0 :(得分:2)
类似的东西:
select ...
from table1 t1
right join table2 t2 on t1.key_id = to_number(substr(t2.doc_num,2));
答案 1 :(得分:1)
SELECT DocTitle, DocDate
FROM Table2
RIGHT JOIN Table1
ON Table2.Doc_Num = 'Z' || Table1.Key_ID
或
SELECT DocTitle, DocDate
FROM Table2
RIGHT JOIN Table1
ON substr(Table2.Doc_Num, 2) = Table1.Key_ID
两者都可以使用