我有两个表,一个表有一列有一个URL,另一个表有一个来自该URL的子串
表1
Id | URL
----------
1 ...\aaa_common\
2 ...\aaa_qa..
3 ...\aaa_test\Analytics
表2
SomeId | compname
-----------------
1 aaa_common
2 aaa_qa
3 aaa_test
可以使用字符串函数(charindex和substring)进行连接。但是有更简单的选择吗?
答案 0 :(得分:2)
是的,你可以使用join,但不确定这是最好的方法,因为连接字符串不是一个好主意,我也不确定你的表中的重复值。如果需要这样做,我建议你在Table1中再添一个列,你可以使用子字符串&更新来自同一个表中的compname。然后加入两个表格,包括表格1和表格中的新栏目。表2中的compname。
同样,对于使用子字符串,您应该100%确定您的compname的索引/模式在Table1的字符串中。
请查看 DEMO
只是使用子字符串&的连接示例CHARINDEX
答案 1 :(得分:1)
你可以使用喜欢加入,但这会有点性能。
select
*
from
table_1 t1
inner join table_2 t2 on
t1.url like concat('%',t2.compname, '%')