Как доработать SQL отчет, транспонирование, pivot?

Как доработать SQL отчет, транспонирование, pivot?

от Sergey L. -
Количество ответов: 0

Добрый день!

Версия moodle: 3.5.8 (Build: 20190909)

База данных: MySQL

Имеется SQL отчет с таким запросом:

<code>

SELECT u.lastname AS Фамилия,u.firstname AS Имя, c.fullname AS Курс, ROUND(gg.finalgrade,2) AS Средний_бал

FROM prefix_course c

JOIN prefix_context ctx ON c.id = ctx.instanceid

JOIN prefix_role_assignments ra ON ra.contextid = ctx.id

JOIN prefix_user u ON u.id = ra.userid

JOIN prefix_grade_grades gg ON gg.userid = u.id

JOIN prefix_grade_items gi ON gi.id = gg.itemid

JOIN prefix_course_categories cc ON cc.id = c.category

WHERE gi.courseid = c.id AND gi.itemtype = 'course' AND c.visible = 1

AND u.id IN (

    SELECT

        ctx.instanceid

    FROM prefix_context ctx

    JOIN prefix_role_assignments ra ON ra.contextid = ctx.id

    WHERE ctx.contextlevel=30 AND ra.roleid=15

                AND ra.userid = %%USERID%%

  )

</code>

Который формирует информацию по людям и курсам в виде таблицы

Фамилия   Имя    Курс                           Средний_балл

Иванов      Иван  Название_курса1      40

Петров      Сергей  Название_Курса2.  100


Вопрос: Как запрос изменить таким образом, чтобы таблица получилась ?

Название_курса       Название_курса1           Название_Курса2
Фамилия   Имя 

Иванов      Иван          40
Петров       Сергей                                                    100