2013-10-09 100 views
1

我有一個表與一列 - say,article_id - 對應於另一個表的主鍵。見下文。根據另一個表中的相關列更新記錄

我想填充柱「利」與Levenshtein距離,這樣計算的:

LEVENSHTEIN(table1.string, table2.title)

...其中表1的article_id的對應表2的主鍵。

我使用的是Postgres,這個函數是fuzzystrmatch模塊的一部分。


表的相關部分是這樣的:

table1 
id article_id string lev 
1  134   'ace' 
2  227   'bdg' 
3  425   'hkl' 

table2 
id title 
134 'Some title abc' 
227 'Some title def' 
425 'Some title ghi' 

如何實現這一目標?

回答

2

不知道關於你提到的庫模塊什麼,假設函數存在,這應該工作:

UPDATE table1 AS t1 
SET lev = LEVENSHTEIN(t1.string,t2.title) 
FROM table2 as t2 
WHERE t1.articleid = t2.id 
+0

很簡單。感謝您的幫助。 – dmc7z

2
UPDATE table1 as t1 SET lev=LEVENSHTEIN(t1.string, t2.title) 
FROM table2 as t2 
WHERE t1.article_id = t2.id 

有用的參考:

相關問題