2013-06-24 31 views
-2

目前我有酒店名稱,國家,城市和郵政編碼單獨列出兩個數據。雖然我有另一個包含相同但需要映射和匹配到原始數據的數據列表。數據映射 - 酒店

例如,

一是數據有:

Name: Sheraton 
Country: USA 
City: Dallas 
Zip Code: 31141 

而其他數據有:

Name: Sheraton hotel 
Country: USA 
City: Dallas 
Zip code: 31141 

有沒有辦法,我必須執行一些疑問,其中的能力我將能夠從第二個數據中映射「shearton酒店」,並將其映射到原來的「sheraton」,考慮到數據超過87K。

期待一種方式來做到這一點。

+4

你有兩張桌子?什麼SQL引擎?第二張桌子名稱後面有「酒店」的唯一區別是什麼? – Blorgbeard

+0

聽起來像你需要規範化你的數據庫。 –

+2

這個問題如何與Java相關? – jpw

回答

0

要連接,您可以使用內部聯接兩個表,但如何你的加入取決於如何將數據映射到對方,不知道這一點,我不認爲任何人在這裏可以給你更多的建議。如果它是作爲第二個表name場一樣簡單始終是一樣的,在第一個表中name場,再加上你可能會做一些隨機的額外字符是這樣的:

SELECT table1.*, table2.* FROM table1 
INNER JOIN table2 ON table2.name LIKE table1 + '%' 
AND table1.Country = table2.country 
AND table1.city = table2.city 
AND table1.[Zip code] = table2.[Zip code] 

當映射完成在table2.name LIKE table1 + '%'部分加入。 這當然會給出奇怪的結果,如果有超過兩家酒店共用一個共同的名稱基地和其他標識符...

這個答案是基於猜測雖然你沒有提供太多的信息表設計或項目如何映射到彼此。