использовать столбец в качестве входных данных для to_tsquery - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть таблица T1, в которой только один столбец содержит 2000 уникальных слов. Есть еще одна таблица T2 со столбцом слова. Я хочу найти записи в T2, если их слова совпадают с одним из слов в T1. Итак, представьте, T1 выглядит следующим образом:

word
------
regents
sky
tree
trees
avenue

и T2 выглядит так:

tags    |  id|   usrid
--------+----+--------
shifs   |   1|      @1
trees   |   2|      @2
sky     |   3|      @3
regents |   4|      @4
regent  |   5|      @5

и я хочу получить следующие результаты:

tags    |  id|   usrid
--------+----+--------
trees   |   2|      @2
sky     |   3|      @3
regents |   5|      @5

Я мог бы использовать приведенный ниже запрос для поиска в столбце тегов из T2, но я хочу использовать столбец word из T1 в качестве ввода для tsquery.

SELECT *
FROM T2
WHERE to_tsvector(tags) @@ to_tsquery('regent');

1 Ответ

0 голосов
/ 07 ноября 2018

Это было бы простое соединение между таблицами:

SELECT t2.*
FROM t1 JOIN t2
   ON t2.tags = t1.word;

Нет необходимости в полнотекстовом поиске!

...