main_bundle_status - это не поле, которое вы можете проверить, это псевдоним подзапроса, который содержит другой подзапрос, и я думаю, вы пропустили '(' в начале.
У вас есть два варианта: - сохранить его значение во временной таблице, а затем проверьте его с помощью CASE WHEN во втором запросе
в CASE WHEN вместо main_bundle_status напишите весь подзапрос, это будет примерно так:
(select main_bundle_statuses.status from (
select main_bundle.status,
row_number() over
(partition by main_bundle.client_id order by main_bundle.created desc)
as rnum
from bundle main_bundle
join config_dependence cd on cd.main_config_id =main_bundle.config_bundle_id
where cd.dependent_config_id = b.config_bundle_id
and main_bundle.client_id = b.client_id) main_bundle_statuses
where main_bundle_statuses.rnum = 1) as main_bundle_status,
CASE WHEN (select main_bundle_statuses.status from (
select main_bundle.status,
row_number() over
(partition by main_bundle.client_id order by main_bundle.created desc)
as rnum
from bundle main_bundle
join config_dependence cd on cd.main_config_id =main_bundle.config_bundle_id
where cd.dependent_config_id = b.config_bundle_id
and main_bundle.client_id = b.client_id) main_bundle_statuses
where main_bundle_statuses.rnum = 1) is null then true else false end as dependent
Поскольку в конце стоит запятая, я думаю, что это часть более крупного запроса и, как указано @GordonLinoff, это уже немного сбивает с толку. Я предлагаю решение для временной таблицы.