我有一張表,這是您可能在公司名稱中找到的單詞字典及其同義詞。我想用它來標準化另一個表中的名稱。例如,「WIDGET COMPANY INCORPORATED」將被標準化爲「WIDGET CO INC」。我認爲它會像下面的交叉連接一樣簡單,但它似乎只運行列表中的第一個同義詞,而不是整個列表。我是否以這種錯誤的方式去做?我試圖在SSIS中做這件事,如果我無法弄清楚這一點,但我認爲這會讓事情變得過於複雜 - 當然,我認識到這是一個交叉連接,我們談論了很多行 - 50萬元,要準確...使用交叉連接更新查詢
update [dbo].[Company addresses]
set [Name 1 syn] = replace(a.[Name 1 syn], ' ' + b.[Synonym] + ' ', ' ' + b.[Base] + ' ')
from [dbo].[Company addresses] a
cross join dbo.Synonyms b
是。即使連接的另一端有很多,每個目標行只能運行一次UPDATE。該計劃可能有一個「ANY」聚合體,可以從衆多可能的中挑選出一個。 –
我不清楚你想做什麼。你能否提供一些表格結構和樣本數據以及樣本結果。 – HLGEM
@HLGEM - 如果'[公司地址] .Name'是'1街道,倫敦',並且他們有兩個同義詞行'street - > road'和'London - > Big City',我認爲其意圖是運行每個替換反過來所有的同義詞所以最終結果='1路,大城市' –