Как использовать тот же psql подзапрос в предложении from и where? - PullRequest
0 голосов
/ 17 марта 2020

Я хочу использовать один и тот же подзапрос в предложении from и where. Пробовал следующие два подхода, но в обоих случаях получал одинаковую ошибку в разных местах запроса.

QUERY 1:

select * from (subquery1) as t_feature where id = (select MAX(id) from t_feature);

QUERY 2:

select * from t_feature where id = (select MAX(id) from (subquery1) as t_feature);

ОШИБКА :

ERROR: relation "t_feature" does not exist

Для временной привязки я создал представление для подзапроса и использовал его вместо подзапроса. Но я не хочу создавать представления для этого случая.

1 Ответ

1 голос
/ 17 марта 2020

Использовать общее табличное выражение :

with t_feature as (
   ...
) 
select * 
from t_feature 
where id = (select MAX(id) from t_feature);
...