我想加入2个表,其中唯一可能的连接是两个不同的列。 A列是十二个字符长的数字,而另一个(B)是两个字符的长数字。他们可以加入,因为A就像.BB .........,所以2.和3. char取自B(在其他情况下,这是可能的)。
我认为我应该可以使用REGEXP_LIKE但是如何在此函数中使用列? '.column_name .........'自然无法正常工作。我试着环顾四周,但现在我被困住了。
表B中有20行,我想一次检查所有行。
感谢您的时间!
答案 0 :(得分:1)
因此,如果我们在 colA 列中有一个表 tblA ,并且 COLB 。 我们可以创建一个中间表 tmpTblB ,其中包含 tblB 的所有列和计算值 myNum 作为 colB中的子字符串。最后加入 tblA 和 tmpTblB
SELECT *
FROM tblA
LEFT OUTER JOIN (
SELECT tblB.*, SUBSTR( tblB.colB, 2, 2 ) AS myNum
FROM tblB ) tmpTblB
ON tblA.colA = tmpTblB.myNum