有没有办法仅根据其中一列的前 3 个字符对两列进行类似连接?

问题描述 投票:0回答:1

表1

A 栏 B 栏
0001 安培^
0002 六月^
003 RES^

表2

A 栏 B 栏
艾米琼斯 振幅
琼·史密斯 六月虫
卢哈里 哈^

我想将这两个表连接到两个表的 B 列上,但是当我这样做时什么也没有返回,我认为这是因为

^
字符,我不知道如何解决这个问题。

SELECT
    Table1.*,
    Table2.*
FROM
    Table1
LEFT JOIN
    Table2 ON Table1.column_B LIKE CONCAT(Table2.column_B, '%')

这就是我想要拿回来的:

A 栏 B 栏
艾米琼斯 振幅
琼·史密斯 六月虫

如果这太草率了,我深表歉意,但我是 SQL 的新手,所以还不完全熟悉其来龙去脉。预先感谢您的帮助

sql oracle-sqldeveloper
1个回答
0
投票

仅仅加入前三个角色不适合你吗?

SELECT
    Table1.*,
    Table2.*
FROM
    Table1
LEFT JOIN
    Table2 ON SUBSTR(Table1.column_B, 1, 3) = SUBSTR(Table2.column_B, 1, 3)
© www.soinside.com 2019 - 2024. All rights reserved.