I campi incrociati o le tabelle pivot sono la risposta. Da lì puoi SELEZIONARE DA ... INSERIRE IN ... o creare una VISTA dalla singola SELEZIONE.
Qualcosa come:
SELECT country,
MAX( IF( key='President', value, NULL ) ) AS President,
MAX( IF( key='Currency', value, NULL ) ) AS Currency,
...
FROM table
GROUP BY country;
Per ulteriori informazioni:http://dev.mysql.com/tech -resources/articles/wizard/index.html