Я довольно новичок в SQL, и я борюсь с суб-запросом. У меня есть таблица, которая выглядит следующим образом:PostgreSQL multiple pg_trgm оценка подобия sub-query
sss | mm | sid
------------------+----+-----
IBM LTD | | 003
I.B.M. | | 003
A.BM LTD | | 004
IMB LTD | | 004
IMB UK | | 005
IBMUK LTD | | 006
IBMUKLTD | | 007
IBM LIMITED | | 008
IBM U.K. | | 008
IBM U.K. LIMITED | | 009
I.B.M UK LTD | 1 | 001
IBM | 1 | 001
IBM UK | 1 | 001
IBM UK LTD | 1 | 001
Строки с 1
в mm
столбце строки, которые были вручную совпадающая и ID правильно. Я хочу использовать функцию similarity
, чтобы попытаться найти близкие совпадения с записями, которые уже были сопоставлены вручную.
Я знаю, что обычно вы помещаете подзапрос в оператор from, но я не могу сделать это с помощью функции similarity
, но я не уверен, как это сделать, это то, что я хотел бы сделать :
SELECT
sss,
similarity(sss, select(sss from tusm where mm = 1) as match_score)
from
tusm
where
mm is null and
where match_score >= 0.5
;
[документация] (http://www.postgresql.org/docs/9.1/static/pgtrgm.html) утверждает, что подобие должно быть определено как «подобие (столбец,« слово »)». Похоже, вы пытаетесь сделать «подобие (столбец, запрос)». Чтобы заставить ваш запрос работать, я думаю, вам нужно вернуть одну строку из вашего подзапроса. Дайте мне знать, если я не понимаю ваш вопрос. – jed
Правильно Jed – woodbine