SQL - 加入 2 个表,尽管其中一列有下划线

SQL - join 2 tables despite one column having an underscore

我正在尝试根据具有相同数据的 2 列合并 2 个表(Table A 和 Table B),只是有一个“_”。

例如:

ID1 ID2
IE03 IE_03
IE04 IE_04

有没有办法根据列 ID1 和 ID2 连接 SQL 中的 2 个表,而不考虑下划线?

是;你必须删除下划线。在 Oracle 中,我们使用 REPLACE 函数。例如:

SQL> select replace('IE_03', '_', '') result from dual;

RESULT
--------------------
IE03

SQL>

在其他数据库中(我不知道你使用的是哪个,因为你没有指定),我相信他们提供类似的东西。

所以:

select *
from table_1 a join table_2 b on a.id1 = replace(b.id2, '_', '')