如何查询构建的字符串选择

Bap*_*net 2 sql postgresql

我想做点什么

SELECT * FROM (
    SELECT ('reword#' || reword) || reword_faq as reword FROM me_review_entries re
) as re
WHERE re.reword = 'reword#2#SOME_FAQ'
Run Code Online (Sandbox Code Playgroud)

我试着这样做

SELECT ('reword#' || reword) || reword_faq as foo FROM me_review_entries re
WHERE foo = 'reword#2#SOME_FAQ'
Run Code Online (Sandbox Code Playgroud)

但我得到:

ERROR:  column "foo" does not exist
LINE 2: WHERE foo = 'reword#2#SOME_FAQ'
Run Code Online (Sandbox Code Playgroud)

是唯一的方法吗?或者我可以改进吗?

Sch*_*Cat 6

我认为这取决于您的数据库,但除了查询之外,foo列不存在,因此您可能需要这样做:

SELECT ('reword#' || reword) || reword_faq as foo FROM me_review_entries re
WHERE ('reword#' || reword) || reword_faq = 'reword#2#SOME_FAQ'
Run Code Online (Sandbox Code Playgroud)