WHERE 子句中不存在 SELECT AS 列

问题描述

我正在使用 Postgres 从我的数据库中的关系中选择值。我想要原始关系中不存在的其他列,因此我使用类似于以下查询查询来实现此目的:

SELECT table1.*,table1.title || table1.first_name || table1.last_name AS full_name,table2.email AS user_email FROM (table1 JOIN table2 ON table1.id = table2.id) WHERE table1.type = 'Open' AND user_email ILIKE '%test%';

当我尝试这样做时,出现以下错误

error: column "user_email" does not exist

有没有人知道解决这个问题的方法

解决方法

您不能直接在 WHERE 子句中使用指定的别名。

您可以改用原始列名:

WHERE table1.type = 'Open' AND table2.emailILIKE '%test%';