首页 > 解决方案 > 比较 SQL Server 中的 2 个表

问题描述

我有 2 个 SQL 表,一个包含 2 列,名字和姓氏,另一个有一个名为 NAME 的列,其中包含全名。我正在尝试查找 table1 中 Last Name 列中的任何值是否可以在 table2 的 NAME 列中找到。到目前为止,我已经尝试了以下查询,但没有取得多大成功:

SELECT * FROM table1
CROSS APPLY
(SELECT * FROM table2 WHERE ('%'+table1.[Last Name]+'%' LIKE table2.NAME)) table2

标签: sql-server

解决方案


我不确定,但我认为这可行:

SELECT *
FROM table1
WHERE ISNULL((SELECT TOP(1) 1 FROM tabl2 WHERE Name LIKE '%' + table1.LastName + '%'), 0)= 1

在名字和姓氏相似的情况下,此查询的准确性可能会受到影响。您可以添加空格以获得更好的准确性:LIKE '% table1.LastName %'.


推荐阅读