SQL GROUP_CONCAT dividido en diferentes columnas

Busqué mucho, pero no encontré una solución adecuada para mi problema.

Que quiero hacer

Tengo 2 tablas en MySQL: - País - Moneda (las uno a través de CountryCurrency -> debido a la relación de muchos a muchos)

Vea esto para un ejemplo de trabajo:http://sqlfiddle.com/#!2/317d3/8/0

Quiero unir ambas tablas mediante una combinación, pero quiero mostrar solo una fila por país (algunos países tienen varias monedas, por lo que ese fue el primer problema).

Encontré la función group_concat:

SELECT country.Name, country.ISOCode_2, group_concat(currency.name) AS currency
FROM country
INNER JOIN countryCurrency ON country.country_id = countryCurrency.country_id
INNER JOIN currency ON currency.currency_id = countryCurrency.currency_id
GROUP BY country.name

Esto tiene el siguiente resultado:

NAME            ISOCODE_2   CURRENCY

Afghanistan AF          Afghani
Åland Islands   AX          Euro
Albania         AL          Lek
Algeria         DZ          Algerian Dinar
American Samoa  AS          US Dollar,Kwanza,East Caribbean Dollar

Pero lo que quiero ahora es dividir las monedas en diferentes columnas (moneda 1, moneda 2, ...). Ya probé funciones como MAKE_SET () pero esto no funciona.

Respuestas a la pregunta(2)

Su respuesta a la pregunta