есть запрос типа
select ...
from
(
-- 1
select '1' subqr, ...
from ...
where ...
group by f1, ...
union all
-- 2
select '2' subqr, ...
from ...
where ... /* сюда */
group by f1, ...
union all
-- 3
select '3' subqr, ...
from ...
where ...
group by f1, ...
) t1
, t2
where t1.f1 = t2.f1
and ((t2.test1 = 'TEST' and subqr = '2') or (subqr <> '2'))
чего хочется
чтобы запрос начинался с t2
и для тех записей где t2.test1 = 'TEST'
брался соотв. t2.f1
и прокидывался внутрь '2' subqr во where
внутрь подзапроса и внутрь group by
зачем:
джойнить t2 с каждым подзапросом не очень весело, особенно если их будет 10
а без такого фильтра '2' subqr работает ну очень долго
джойнить t2 дополнительно только на '2' subqr как-то не красиво
интересует хотя бы ответ "можно/нельзя"
сорри за отсутствие полноценного теста