Возможно, это комментарий, но он слишком длинный.
Я просто не следую логике c, которую вы хотите реализовать. Ваши результаты могут быть получены с помощью простого запроса с фильтрацией:
select a, b, c, d as d, d as e
from t
where a = 1;
РЕДАКТИРОВАТЬ:
Возможно, это то, что вы хотите?
select 1, b, c,
sum(d) filter (where a = 1) as d,
sum(d) filter (where a in (10, 12)) as e
from t
group by b, c;