Eu sei que você disse que não há
SQL
dinâmico , mas não vejo nenhuma maneira de fazer isso em SQL
direto . Se você verificar minhas respostas para problemas semelhantes em Tabela Dinâmica e Colunas Concatenadas e PIVOT no sql 2005
O
SQL
dinâmico não há vulnerabilidade à injeção e não há uma boa razão para proibi-la. Outra possibilidade (se os dados estiverem mudando com pouca frequência) é fazer geração de código - em vez de SQL
dinâmico , o SQL
é gerado para um procedimento armazenado regularmente.