Я думаю, что вы хотите добавить уникальные строки в B
в A
. Для этого я бы предложил UNION ALL
:
select firstname, lastname, max(age) as age
from b
group by firstname, lastname
having count(*) = 1
union all
select firstname, lastname, null as age
from a
where not exists (select 1
from from b
group by firstname, lastname
having count(*) = 1
);
Это должно, по крайней мере, дать результаты в вашем вопросе.