Я много искал, но не нашел правильного решения моей проблемы.
Что я хочу делать?
У меня есть 2 таблицы в MySQL: - Страна - Валюта (я соединяю их вместе через CountryCurrency --> из-за отношения "многие ко многим")
См. рабочий пример: http://sqlfiddle.com/#!2/317d3/8/0
Я хочу связать обе таблицы вместе с помощью объединения, но я хочу показать только одну строку для каждой страны (в некоторых странах используется несколько валют, так что это была первая проблема).
Я нашел функцию 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
Это имеет следующий результат:
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
Но сейчас я хочу разделить валюты на разные столбцы (валюта 1, валюта 2, ...). Я уже пробовал такие функции, как MAKE_SET(), но это не работает.