繁体   English   中英

PostgreSQL-在SELECT中使用to_tsvector

[英]PostgreSQL - using to_tsvector with SELECT

我一直在阅读PSQL文档,也打扰了Google-尽管我不确定要查找的内容-但看起来无法从选择中创建tsvector。

让我解释一下。 我有表用户,并在其中添加了一个tsvector列,称为tsv。

      Column       |            Type             |                     Modifiers
-------------------+-----------------------------+---------------------------------------------------
 id                | integer                     | not null default nextval('jobs_id_seq'::regclass)
 username          | character varying(255)      | not null
 tsv               | tsvector                    |

现在每个用户都有很多文章

我现在想要的是将文章标题作为tsvector存储在tsv列中。 像这样:

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个“问题”

提前非常感谢您。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM