Sigues sin entender porque no haces caso. Te he dicho que pivote
con JOINS no es la manera. Hay te puse un link a un tutorial, si lo miraste?.
Reitero: Sin ayuda del motor, hacer esto REQUIERE HACER PASOS "manuales". TIENES que usar CASE para "filtrar" los datos de columnas junto con GROUP BY.
Te paso otro link que muestra los pasos:
https://modern-sql.com/use-case/pivot
(Ahi usan FILTER pero es lo mismo con CASE)