连接具有不同列值的表

Join tables with different column values

我想连接 2 table,其中唯一可能的连接是通过两个不同的列。 A 列是十二个字符长的数字,而另一列 (B) 是两个字符长的数字。他们可以 ba 加入,因为 A 就像 .BB....... ,所以 2. 和 3. char 取自 B(在其他情况下这是不可能的)。

我想我应该可以使用 REGEXP_LIKE 但我如何使用此函数中的列? '.column_name.......' 不能正常工作。我试着环顾四周,但我现在卡住了。

在table B中有20行,我想一次全部检查。

感谢您的宝贵时间!

所以如果我们有一个 table tblAcolA 列中有一个短数字和一个 talbe tblBcolB 中有一个长数字。 我们可以创建一个中间 table tmpTblB,它包括 tblB 的所有列和一个计算值 myNum 作为 colB 的子串。最后加入 tblAtmpTblB

SELECT *
FROM tblA
  LEFT OUTER JOIN (
    SELECT tblB.*, SUBSTR( tblB.colB, 2, 2 ) AS myNum
    FROM tblB ) tmpTblB
  ON tblA.colA = tmpTblB.myNum