U kunt voorwaardelijke aggregatie gebruiken om alle informatie voor een parent-id op één rij te krijgen en vervolgens een where
gebruiken clausule voor de vereiste voorwaarde.
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
Dit veronderstelt dat er slechts één rij per sleutel per parent-ID in de tabel is.