我一直在打我的頭兩天,我終於承認,我需要幫助做這個看似簡單的任務。搜索重複帳戶
我試圖找到一種方法來在單個表中生成可能的重複帳戶列表。字段與AccountNumber
,FirstName
,LastName
,DOB
,SSN
,Address
,City
,State
,Zip
。
我需要找到一種方法來查詢數據庫,並發現有不同AccountNumbers
但類似names
/DOB
/etc
有可能是同一個人賬戶。
任何幫助將不勝感激。 謝謝!
我一直在打我的頭兩天,我終於承認,我需要幫助做這個看似簡單的任務。搜索重複帳戶
我試圖找到一種方法來在單個表中生成可能的重複帳戶列表。字段與AccountNumber
,FirstName
,LastName
,DOB
,SSN
,Address
,City
,State
,Zip
。
我需要找到一種方法來查詢數據庫,並發現有不同AccountNumbers
但類似names
/DOB
/etc
有可能是同一個人賬戶。
任何幫助將不勝感激。 謝謝!
select distinct t1.AccountNumber
from table t1
join table t2 on t2.Name = t1.Name and t2.DoB = t1.DoB
and t2.AccountNumber <> t1.AccountNumber
我承認在sql中是一個非常低級的新手,但是這不意味着我在比較兩個表嗎?我只有一個表查看,所以我不明白這個解決方案中的t1和t2引用。如果我有兩張桌子,我可以理解這將如何工作。 – MegaMind 2014-10-30 14:45:53
't1'和't2'可以是同一張表,只是帶有別名。它看起來像'FROM TABLE [table_name] t1 JOIN TABLE [table_name] t2'。 – 2014-10-30 17:23:19
看看使用遞歸選擇。這裏有一篇文章。 http://technet.microsoft.com/en-us/library/ms186243(v=sql.105).aspx
基本上,它創建了一個臨時表,允許您在不直接重新查詢數據庫的情況下執行操作。這使您可以更高效地執行多個子選擇。
您的查詢最終會看起來像下面這樣。
隨着帳目(選擇A,B,從表C)
選擇一個,B,C 從表TBL 凡存在(來自賬戶選擇1起作用,其中act.a LIKE '%' + TBL .A +「%」)......
等,瞭解如何檢查是否列就像是另一個檢查更多信息,這一點Compare Columns Where One is Similar to Part of Another
我從做了什麼,我需要我們的軟件供應商查詢它要做的。他們的解決方案是上述兩種建議的組合。它創建一個臨時表,以便將具有多個名字姓氏的匹配的帳戶,然後通過檢查匹配的地址,州,城市來評估它們重複的可能性。它還記錄了每個帳戶上次使用的時間。
我不完全理解語法,但沒關係,它完成了工作。
感謝您的幫助!
您能詳細說明您的「類似名稱/ DOB /等」的標準嗎? – 2014-10-29 23:39:50