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, '_', '')
我正在尝试根据具有相同数据的 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, '_', '')