Я использую MariaDB 10.2.
Таблица тегов клиента выглядит так:
Я хочу создать View/Query, который дает результат, как показано ниже
Я легко мог это сделать в Excel, но SQL-запрос оказался очень сложным и ошибочным.
Я пробовал SQL
SELECT
GROUP_CONCAT( t.tagname ) INTO @PivotQuery
FROM
(SELECT
clienttag.customer, tagname
FROM
clienttag
GROUP BY
clienttag.customer, clienttag.office) t;
SET @PivotQuery = CONCAT('SELECT @PivotQuery' FROM clienttag GROUP BY customer');
Использовать условную агрегацию
SELECT customer, tagname,
MAX(CASE WHEN tagName = 'A' THEN 1 END) as A,
MAX(CASE WHEN tagName = 'B' THEN 1 END) as B,
MAX(CASE WHEN tagName = 'C' THEN 1 END) as C,
MAX(CASE WHEN tagName = 'D' THEN 1 END) as D,
MAX(CASE WHEN tagName = 'E' THEN 1 END) as E
FROM clienttag
GROUP BY customer, tagname
green, blue, white, car, jeep, birthday