SQL GROUP_CONCAT dividido em colunas diferentes
Eu procurei muito, mas não encontrei uma solução adequada para o meu problema.
O que eu quero fazer?
Eu tenho duas tabelas no MySQL: - País - Moeda (eu as uno via CountryCurrency -> devido a muitos relacionamentos)
Veja isto para um exemplo de trabalho:http://sqlfiddle.com/#!2/317d3/8/0
Eu quero ligar as duas tabelas juntas usando uma junção, mas eu quero mostrar apenas uma linha por país (alguns países têm várias moedas, então esse foi o primeiro problema).
Eu encontrei a função 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
Isso tem o seguinte 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
Mas o que eu quero agora é dividir as moedas em diferentes colunas (moeda 1, moeda 2, ...). Eu já tentei funções como MAKE_SET (), mas isso não funciona.