![](/img/trans.png)
[英]SQL substring of field contained within another substring for JOIN statement
[英]SQL Join where string is contained within another table field
我有几个表,我想加入一些如何。
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)
这是可能的 ,使用这样的东西:
SELECT name
FROM table1
LEFT JOIN table2 ON table2.fieldA LIKE CONCAT('%~', table1.name, '~%')
但是,这是一个坏主意,因为它将非常慢(不能使用索引)并且不是一个稳定的数据库设计。 您最好将数据规范化。
这也适用于MSSQL
SELECT table_1.NAME
FROM table_1
INNER JOIN table_2 ON table_2.fieldA like '%' + table_1.NAME + '%'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.