Вы можете использовать самосоединение, которое также удалит строки только с одним значением (num = 3 в данных примера)
select t1.num, t1.value as value_a, t2.value as value_b
from the_table t1
join the_table t2 on t1.num = t2.num and t2.type = 'b'
where t1.type = 'a'