有沒有辦法在sql db中搜索包含相似值的字段? 例如,我有一個超過一百萬條記錄,其中一列包含url值並與國家/地區列關聯。以前我試圖匹配相等網址,它包含爲國家空值作爲能夠使用下列來更新它:更新sql服務器中的類似字段
UPDATE t1
SET t1.country = t2.country
FROM Sources AS t1
JOIN sources AS t2
ON t1.url = t2.url;
然後我改變使用類似字的查詢,如下所示:
UPDATE t1
SET t1.country = t2.country
FROM Sources AS t1
JOIN sources AS t2
ON t1.url = t2.url
WHERE t1.url like t2.url;
當我只是使用select語句來查找urls是什麼樣的記錄然後我得到的結果,但更新不起作用。 一個更好的例子如下:
這些都是同一個域的網址,我只是想更新全國列各一個,以避免手動做,因爲有大約20萬做。
爲什麼兩條線: ON t1.url = t2.url WHERE t1.url像t2.url; ? 此外,一個LIKE會給你一個不同的結果集,而不僅僅是你的連接。這可能是您的SET語句的問題。 – Tobiasopdenbrouw 2010-08-03 13:02:34
感謝您的回覆。所以我試圖改變這一點,如下所示: UPDATE T1 SET t1.country = t2.country 來源爲T1 JOIN來源爲T2 ON t1.url像t2.url ,它正在採取相當長的時間執行,所以我取消了它。這會工作還是你有更好的建議? – vbNewbie 2010-08-03 13:25:58