Привет, мне нужно сделать некоторую денормализацию таблицы MySQL с повторяющимися данными.
Моя таблица «Публикации» в настоящее время имеет следующий формат:
Publications Source Table
| title | author
--------------------------------------------
| my paper | michael
| my paper | bill
| my paper | jill
| other paper | tom
| other paper | amy
| third paper | ben
| third paper | sophie
Мне нужно изменить его на этот формат:
Publications Destination Table
| title | author | author2 | author 3
|-----------------------------------------------------------------
| my paper | michael | bill | jill
| other paper | tom | amy |
| third paper | ben | sophie |
Теперь, просто для вашего сведения, мне нужно сделать это, чтобы я мог в конечном итоге получить файл CSV, чтобы данные можно было экспортировать из старой системы в новую систему, для которой требуется файл CSV в этом формате.
Также в таблице много других полей и около 60 000 строк в исходной таблице, но только около 15 000 уникальных заголовков. В исходной таблице есть одна строка для каждого автора. В месте назначения title будет уникальным идентификатором. Мне нужна одна строка для каждого уникального названия публикации. Также я могу заранее подсчитать, какое наибольшее количество авторов имеется в какой-либо публикации, если это упростит задачу.
Как я могу сделать это в MySQL? Спасибо
mysql pivot query
- person Dan Bracuk   schedule 15.11.2016