我在數據庫中有兩個表。兩者都有名爲「公司名稱」的列。 我想在這些列之間比較其名稱中的任何相似性。SQL包含表列
例如:Table1.CompanyName = 2i Ltd
/// Table2.CompanyName = 2i Limited.
我在數據庫中有兩個表。兩者都有名爲「公司名稱」的列。 我想在這些列之間比較其名稱中的任何相似性。SQL包含表列
例如:Table1.CompanyName = 2i Ltd
/// Table2.CompanyName = 2i Limited.
我猜你的意思是:如何攜起手來這些和比較平等或東西模糊。
你不喜歡這樣使用Oracle文本,它允許模糊匹配:
select t1.CompanyName
from Table1 t1
join Table2 t2
on contains(t1.CompanyName, t2.CompanyName) > 0
在訪問有可能的,但你必須把它寫自己。檢出this article(代碼要粘貼很多)。
@ user1427266:任何運氣? –
讓我們創建兩個示例表準備我們的數據
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) + '%'
找到類似的公司名稱你的問題是不清楚的,你期待什麼作爲你的查詢的結果? –
你使用的是什麼DBMS?MySQL,SQL Server,Postgre等? – gvee
我有兩個包含名稱的不同表中的列。 ce表1中的Column'Company Name'包含'ABC Ltd.',表2中的'Columns'Company''包含'ABC Co. Ltd.'。我想要的是一個查詢,輸出那些相似但不相等的名字。我試過LIKE「* [CompanyName] *」,但我沒有管理。 – user1427266