SQL Join其中string包含在另一个表字段中

时间:2013-12-13 15:54:37

标签: sql join

我有几张表,我想加入一些表格。

table 1
**Name** 
A Jones
J Brown
G Smith

Table 2
**fieldA**
~A Jones~G Smith~R Jones~

我想使用表2.fieldA中包含表1.name的逻辑来连接表1到2。

因此结果将是

A Jones
G Smith

这可能吗?如何?

对不起它的SQL(2008)

2 个答案:

答案 0 :(得分:1)

这是可能的,使用类似这样的东西:

SELECT name
FROM table1
    LEFT JOIN table2 ON table2.fieldA LIKE CONCAT('%~', table1.name, '~%')

但是,这是一个坏主意,因为它会非常慢(不能使用索引)并且不是一个稳定的数据库设计。您最好将数据标准化。

答案 1 :(得分:1)

这也适用于MSSQL

SELECT table_1.NAME
FROM table_1
INNER JOIN table_2 ON table_2.fieldA like '%' + table_1.NAME  + '%'