Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wybrać dane z tabeli par klucz-wartość

Możesz użyć agregacji warunkowej, aby uzyskać wszystkie informacje o identyfikatorze rodzica w jednym wierszu, a następnie użyć where klauzulę dotyczącą wymaganego warunku.

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

Zakłada się, że w tabeli jest tylko jeden wiersz na klucz na identyfikator rodzica.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Workbench — Czy schemat to to samo, co baza danych?

  2. ALTER TABLE, aby dodać złożony klucz podstawowy

  3. Jak skonfigurować MySQL tak, aby uwzględniał wielkość liter?

  4. Błąd zdarzenia Mysql przy użyciu php

  5. Kolumna SQL WHERE =wszystko