sql >> Database teknologi >  >> RDS >> Mysql

Sådan vælger du data fra en nøgleværdipartabel

Du kan bruge betinget aggregering til at få alle oplysninger om et forældre-id på én række og derefter bruge en where klausul for den påkrævede betingelse.

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

Dette forudsætter, at der kun er én række pr. nøgle pr. overordnet i tabellen.



  1. Row Goals, Del 4:Anti Join Anti Pattern

  2. Fatal fejl:Kald til en medlemsfunktion execute() på boolean

  3. Hvordan kan undergrupper få tilføjet en genereret stigningskolonne i en sql-forespørgsel?

  4. Jeg kan ikke starte SQL Server-browseren