2016-02-22 48 views
-2

我有一張車輛表(見下面的示例)。當我收到此表的符號更新時,我只收到包含「&」(即2FM & K1FT)的VIN的信息。 VIN與其下面的VIN之間的唯一區別是第四個字符。更新& VIN很容易(如圖所示)。完成之後,如何迭代其他VIN並使用與VIN相同的符號填充這些記錄?SQL Server 2014如何根據「masked」字段更新記錄?

有沒有一種方法可以讓我只匹配前3個字符和最後4個字符,而不涉及創建VIN分隔的新列?

我是相當新的SQL,所以任何幫助,非常感謝。

Sample Data

+1

'其中VIN像「2fm_k1ft'? '_'是「單個字符」的「通配符」。 –

+2

當你試圖想想如何用SQL解決某些問題時,你應該幾乎不會想到「迭代」這個詞。根據集合來思考。 –

+0

我知道我可以使用「喜歡」..但是,從字面上看,有數百個VIN與「&」一樣。我試圖避免其中任何一個編碼。所以,我正在尋找一種解決方案,它可以讓我「掃描」數據庫,當發現這些「&」VIN時停止,根據前三位和後四位字符填充匹配的VIN,然後繼續。希望這是對我的問題的更好解釋。 – LBates

回答

1

這是一個有點不清楚究竟你問什麼,但如果我理解正確的話那麼這應該工作:

UPDATE V 
SET 
    sym = MU.sym, 
    symcmp = MU.symcmp 
FROM 
    My_Updates MU 
INNER JOIN Vehicles V ON V.vin LIKE REPLACE(MU.vin, '&', '_') 
相關問題