我一直在阅读PSQL文档并且还在困扰Google - 虽然我不确定要查找什么 - 但它看起来不可能从选择中创建一个tsvector。
让我解释一下。我有表用户,我在其中添加了一个名为tsv的tsvector列。
Column | Type | Modifiers
-------------------+-----------------------------+---------------------------------------------------
id | integer | not null default nextval('jobs_id_seq'::regclass)
username | character varying(255) | not null
tsv | tsvector |
现在每个用户都有很多文章。
我现在想要的是将文章标题存储为tsv列中的tsvector。像这样:
UPDATE users SET tsv = to_tsvector(
SELECT string_agg(title)
FROM users INNER JOIN books
ON user.id = articles.user_id
GROUP BY user.id
)
很明显,即使没有尝试从SELECT中创建一个tsvector,查询也无法工作。它基本上有2个“问题”
非常感谢你。
答案 0 :(得分:1)
UPDATE users
SET tsv = to_tsvector(s.tsv)
from
(
SELECT id, string_agg(title) tsv
FROM
users
INNER JOIN
articles ON user.id = articles.user_id
GROUP BY user.id
) s
where users.id = s.id