SQL - Join on contains

时间:2016-02-19 11:12:08

标签: sql sql-server join contains

我有两张桌子

Table A
server_name
start_time
end_time

Table B
id
description

我想要做的是将两张桌子连在一起,看起来像这样

Table C
server_name
start_time
end_time
id
description

我可以进行连接的唯一方法是在搜索描述中搜索server_name。

我尝试过使用类似功能,但这并不起作用。它必须与描述

中的server_name列完全相同

1 个答案:

答案 0 :(得分:0)

使用LIKE

select *
from tableA ta
join tableB tb on tb.description like '%' + ta.server_name + '%'

+是SQL Server串联。 ANSI SQL有||,而其他人则有concat

扩展版本,在之前/之后添加空格:

select *
from tableA ta
join tableB tb on ' ' + tb.description + ' ' like '% ' + ta.server_name + ' %'

照顾Matt Gibson的测试/最好的例子。