Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql, remodele os dados de longo / alto para largo


Cross-tabs ou tabelas dinâmicas são a resposta. A partir daí você pode SELECT FROM ... INSERT INTO ... ou criar uma VIEW a partir de um único SELECT.

Algo como:
SELECT country, 
       MAX( IF( key='President', value, NULL ) ) AS President,
       MAX( IF( key='Currency', value, NULL ) ) AS Currency,
       ...

FROM table 
GROUP BY country;

Para mais informações:http://dev.mysql.com/tech -resources/articles/wizard/index.html