Следният SQL може да бъде отправна точка за решаване на проблема:
ИЗБЕРЕТЕ es.employee_id, CONCAT(e.first_name, " ", e.last_name) КАТО служител, MAX(АКО (es.skill_id =1, es.date_trained, null)) AS '1', MAX (АКО (es.skill_id =2, es.date_trained, null)) AS '2', MAX(IF (es.skill_id =3, es.date_trained, null)) AS '3'FROM employee_skills es LEFT JOIN служители e ON es.employee_id =e.idGROUP BY es.employee_id
Резултатът е обобщена таблица като тази:
<предварителен код>| ИД на служител | служител | 1 | 2 | 3 |+-------------+------------+------------+------- -----+------------+| 1001675 | Лице две | (нула) | 2016-07-02 | 04.07.2016 || 1006111 | Лице едно | 01.07.2016 | 11.07.2016 | (null) |Ако SQL се създава динамично, идентификаторите на уменията могат да бъдат заменени от името на уменията. Също така е възможно да замените идентификаторите след това.