我在数据库中有两个表。两者都有名为“公司名称”的列。 我希望在这些列之间比较它们名称中的任何相似之处。
例如:Table1.CompanyName = 2i Ltd
/// Table2.CompanyName = 2i Limited.
答案 0 :(得分:1)
我想你的意思是:如何将这些加在一起并比较相等或模糊的东西。
你可以使用允许模糊匹配的Oracle Text这样做:
select t1.CompanyName
from Table1 t1
join Table2 t2
on contains(t1.CompanyName, t2.CompanyName) > 0
在Access中有可能,但你必须自己编写。查看this article(要粘贴的代码)。
答案 1 :(得分:0)
让我们创建两个样本表来准备我们的数据
CREATE TABLE #Table1 (CompanyName VARCHAR(35))
CREATE TABLE #Table2 (CompanyName VARCHAR(35))
GO
INSERT INTO #Table1 (CompanyName)
SELECT '2i Ltd'
UNION ALL
SELECT 'Xyz Ltd'
UNION ALL
SELECT 'Abc Inc'
GO
INSERT INTO #Table2 (CompanyName)
SELECT '2i Limited'
UNION ALL
SELECT 'Xyz Lmtd'
UNION ALL
SELECT 'ZZZ Corp'
部分匹配SELECT查询(我使用 LEFT 4个字符在表1中找到类似的公司名称。
SELECT
t1.CompanyName,
t2.CompanyName
FROM #Table1 t1
JOIN #Table2 t2
ON t1.CompanyName LIKE '%' + LEFT(t2.CompanyName, 4) + '%'