条件付き集計を使用して、親IDのすべての情報を1つの行に取得してから、where
を使用できます。 必要な条件の条項。
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
これは、テーブル内の親IDごとにキーごとに1つの行しかないことを前提としています。