Si, se entiende, pero lamentablemente eso no se hace por medio de consultas, sino por medio de las aplicaciones.
En esencia estás queriendo convertir cada línea devuelta en la subconsulta en dos columnas.... Ese tipo de reportes (que usan una funcionalidad que no pertenece al SQL denominada en SQL Server PIVOT), son los que se hacen cuando se usa OLAP, pero en ese caso hay un límite dado a la cantidad de columnas devueltas (que generalmente es un numero fijo), por lo que se puede hacer una rutina que te lo realice.
Este no es el caso. Lo que estás proponiendo es una consulta que te lo devuelva creando las columnas
en forma dinámica, y eso no se puede realizar, porque eventualmente se generaría un loop infinito (el algoritmo no se puede planear), o como minino excederías la cantidad de columnas admisibles por tabla...
Una solución alternativa requiere de realizar una consulta por cada item que se requiera, pero esto hace que la consulta también deba construirse dinámicamente, o bien que se conozca de antemano la cantidad de columnas a usar... con lo que caemos en el caso anterior.
Aquí tienes un caso de resolución:
MySQL/Pivot table
No creo que le encuentres una solución que te sirva sin utilizar programación de aplicaciones.
No es la primera vez que alguno consulta por un caso así. Cada tanto tiempo aparece alguien
con esta duda, y hasta ahora no ha habido una solución satisfactoria.