निम्न SQL समस्या को हल करने के लिए एक प्रारंभिक बिंदु हो सकता है:
SELECT
es.employee_id,
CONCAT(e.first_name, " ", e.last_name) AS employee,
MAX(IF (es.skill_id = 1, es.date_trained, null)) AS '1',
MAX(IF (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 employees e ON es.employee_id = e.id
GROUP BY
es.employee_id
परिणाम इस तरह एक पिवट टेबल है:
| employee_id | employee | 1 | 2 | 3 |
+-------------+------------+------------+------------+------------+
| 1001675 | Person Two | (null) | 2016-07-02 | 2016-07-04 |
| 1006111 | Person One | 2016-07-01 | 2016-07-11 | (null) |
यदि SQL गतिशील रूप से बनाया जाता है तो कौशल आईडी को कौशल नाम से बदला जा सकता है। साथ ही बाद में आईडी को बदलना संभव है।