Sé que dijiste que no SQL
dinámico , pero no veo ninguna forma de hacerlo directamente en SQL
.
Si revisa mis respuestas a problemas similares en Pivot Table y Concatenate Columns y PIVOT en sql 2005
El SQL
dinámico no es vulnerable a la inyección, y no hay una buena razón para prohibirla. Otra posibilidad (si los datos cambian con muy poca frecuencia) es generar código, en lugar de SQL
dinámico. , el SQL
se genera en un procedimiento almacenado de forma regular.