La respuesta de Vun,
pese a lo que te parezca, es correcta por dos causas:
1) Lo que tu estás buscando no es una consulta, sino la forma de
mostrar ciertos datos en cierta forma, la cual no corresponde al modo de devolución de datos de una consulta SQL. Esto significa que tu problema es
representar ciertos datos obtenidos, y
la representación de los datos
no es un tema de bases de datos sino de programación de aplicaciones, por lo que la solución te la pueden dar en el foro del lenguaje que tu trabajes.
2) La secuencia de consultas es siempre así, cuando tienes una PK que necesitas buscar: Hacer un JOIN entre las tablas implicadas, de modo de contar con la tabla de datos buscada. Como el SQL no te genera
reportes, sino que devuelve datos puedes, lo que tienes es la tabla devuelta. Algunos DBMS como es el caso de SQL Server, le han agregado extensiones para invertir la tabla resultado, de modo de poner las líneas como columnas y las columnas como líneas (PIVOT),
pero eso son extensiones añadidas por los DBMS y no son parte del estandar SQL, por lo que no están disponibles en todos los casos.
Ergo, no te molestes,pero la solución esta dada por Vun. No hay mucho más que inventar, dado el ejemplo que estas poniendo...
Saludos.