MySQL: оператор выбора с динамическими столбцами

Я застрял, чтобы создать динамический столбец из запроса выбора,

Name   ID   ROLE_START  ROLE              DEPT

Peter   271 2016-04-15  Jr. Developer      Dev
Peter   271 2015-10-13  Trainee            Dev
Thomas  596 2019-05-20  Jr. Tester         Testing
Thomas  596 2019-02-18  Trainee            Testing
Ablish  070 2011-05-02  Artist             Designer
Adarsh  429 2018-04-01  Jr. Data Scientist Data
Adarsh  429 2018-06-01  Data Scientist     Data

Мой требуемый результат:

Name   ID   201105_ROLE 201105_DEPT 201510_ROLE   201510_DEPT 201604_ROLE   201604_DEPT  201902_ROLE 201902_DEPT
Peter  271  Trainee       Dev         Jr. Developer Dev 
Thomas 596                                                       Trainee       Testing       Jr. Tester Testing

... ...

так далее

мой запрос был,

select
        emp_id,
        nickName,
        if(SUBSTRING_INDEX(SUBSTRING_INDEX(comp_roles, '200801:', -1), ',', 1) like "20%", null, SUBSTRING_INDEX(SUBSTRING_INDEX(comp_roles, '200801:', -1), ',', 1)) as `200801`,
...
from employee e
join role_data rd on rd.empID = r.empID
group by r.empID

есть ли лучший способ сделать это?


person Mohideen bin Mohammed    schedule 03.12.2019    source источник
comment
Рассмотрите возможность обработки проблем с отображением данных в коде уровня представления/уровня приложения, если он у вас есть (например, простой цикл PHP, воздействующий на упорядоченный массив).   -  person Strawberry    schedule 03.12.2019
comment
создаю sql-скрипт. Процедура хранения также хорошо. поэтому в моем случае нет необходимости в PHP   -  person Mohideen bin Mohammed    schedule 03.12.2019
comment
Больше жаль   -  person Strawberry    schedule 03.12.2019
comment
Совет: EXTRACT(YEAR_MONTH FROM role_start). См. dev.mysql.com/doc /refman/8.0/ru/   -  person Bill Karwin    schedule 03.12.2019
comment
Также см. мой ответ здесь: stackoverflow.com/questions/25594902/   -  person Bill Karwin    schedule 03.12.2019
comment
@Strawberry Я сделал это с помощью Python. обнаружил, что нет другого пути, кроме как структурировать данные с помощью внешних скриптов. Благодарность   -  person Mohideen bin Mohammed    schedule 06.12.2019