full join b using (id)
или
select id, sum(value1), sum(value2)
from (
select id, value1, 0 as value2 from a
union all
select id, 0, value2 from b
)
group by id
аля summingmerge
если есть вариант что хешированные а и б не влезут в память, то лучше второй, вот только вместо sum лучше anyIf(special value)
Обсуждают сегодня