запрос
(select curRec.birthday from country_population curRec
where srvagr.name=curRec.name
and srvagr.age=curRec.age
and srvagr.weight=curRec.weight
and srvagr.height=curRec.height)
возвращает больше строки, поэтому вы не можете использовать с равным назначением ..
в этом случае вы можете добавить более селективный, где условие для получения только строки результата
или если в любом случае нет только одного результата, используйте функцию агрегирования для уменьшения результата, например: min () или max ()
(select min(curRec.birthday) from country_population curRec
where srvagr.name=curRec.name
and srvagr.age=curRec.age
and srvagr.weight=curRec.weight
and srvagr.height=curRec.height
)
или используйте предел для результатов строк
(select min(curRec.birthday) from country_population curRec
where srvagr.name=curRec.name
and srvagr.age=curRec.age
and srvagr.weight=curRec.weight
and srvagr.height=curRec.height
and rownum = 1)