Du kan använda villkorlig aggregering för att få all information för ett föräldra-ID på en rad och sedan använda en where
klausul för det erforderliga villkoret.
select * from (
select parentid
,max(case when key='name' then value end) as name
,max(case when key='age' then value end) as age
,max(case when key='place' then value end) as place
from tableA
group by parentid
) t
where place='place1' and age=20
Detta förutsätter att det bara finns en rad per nyckel och förälder i tabellen.