1

我有一个表,其中有一列 - 比如 article_id - 对应于另一个表的主键。见下文。

我想用 Levenshtein 距离填充列 'lev',计算如下:

LEVENSHTEIN(table1.string, table2.title)

...其中 table1 的 article_id 对应于 table2 的主键。

我正在使用 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'

如何做到这一点?

4

2 回答 2

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

有用的参考:

于 2013-10-09T22:00:38.963 回答
2

对您引用的库模块一无所知,假设该函数存在,这应该可以工作:

UPDATE table1 AS t1 
SET lev = LEVENSHTEIN(t1.string,t2.title)
FROM table2 as t2
WHERE t1.articleid = t2.id
于 2013-10-09T22:01:37.250 回答