2011-01-19 109 views
2

大家好,我的SQL知識不是很好,所以希望有人可以幫助解決這個問題。幫助比較兩個列表與sql

我有兩個數據列表,我已經導入到SQL Server中。我想比較這兩個列表,並找出有多少在這兩個等

通常我會做一個簡單的連接,但與這兩個列表相同的唯一列是一個名稱,所以我需要將它與一個像命令因爲在一個列表中有很多額外的字符會阻止正常的連接。

任何人都可以幫助給我正確的SQL語法,以使其工作。

感謝

+0

請問您發佈了迄今爲止所做的工作嗎? – rajah9 2011-01-19 17:31:27

回答

6

您可以在JOIN使用LIKE。如果你提供了一些示例數據,它會更清晰,但它聽起來像你想要的東西。

SELECT * 
FROM T1 
JOIN T2 ON T1.name LIKE T2.name + '%' 
+1

我可以爲OP添加JOIN條件,可以是LIKE,BETWEEN和其他許多事情:它並不總是必須是相等性測試 – gbn 2011-01-19 17:33:50

0

假設你有2和表2列...

 
select count(*) 
from tableA a, tableB b 
where a.column1 = b.column1 
and a.column2 = b.column2
您可以通過更改where子句檢查不相等(如 「和a.column1 <> b.column1」)

+0

OP明確指出「=」比較不起作用,因爲等效列包含與比較目的不相關的額外字符。 – 2011-01-19 17:36:19

0

沒有足夠的信息。您需要告訴我們:

  1. 您需要加入(或大約加入)需要多少列來比較列表。

  2. 確切地說,需要操縱哪些列才能被認爲是等效的。

一般來說,你有兩種方法:

  1. 建立與LIKE比較來比較是不完全一樣的列。

  2. 使用UPDATE在帶有「額外字符」的列上操作,直到刪除所有不相符的字符,然後應用常規的「=」JOIN。