SQL 将一列中的字符串部分与另一列匹配

标签 sql sql-server split sql-like concatenation

TABLE 1                        TABLE 2  
**ID  NAME**                   **ID  NAME**
  2   Mcdonalds NY               2   McDonalds
  3   KFC                        3   Burger king

我已经加入了通过 ID 号链接它们的表格。我正在创建异常报告。我正在努力解决的是一个查询,它将遗漏几乎相似的名称(纽约麦当劳 - 麦当劳),但选择明显的名称(肯德基 - 汉堡王)。

我尝试使用where Table1.Name like Table2.Name or Concat

最佳答案

这是一种非常简单的方法来检查并排除那些几乎相等的

SELECT t1.id, t1.name, t2.name
FROM table1 t1
JOIN table2 t2 on t1.id = t2.id
WHERE t2.name NOT LIKE CONCAT('%',t1.name, '%') AND  t1.name NOT LIKE CONCAT('%',t2.name, '%')

关于SQL 将一列中的字符串部分与另一列匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52817511/

相关文章:

SQL Int to Date 然后提前 1 年?

mysql - 如何更正此 SQL 查询? SUM 与 JOIN

SQL Server 2005 (Express) - 登录与用户

c - 将一个字符串分成两半并将其与另一个字符串连接

c# - 如何将 CSV 文件拆分为多个部分

r - 从数据框列表中获取列 R

mysql - 按格式化字符串分组的 SQL 联合

Php MySql 选择计数,准备好的语句返回始终为 1

sql-server - 用最后一个非空值填充空行值 - SQL 表

sql-server - 只读数据库上的事务日志有什么用?