No puede usar una variable en el order by
cláusula. En su lugar, tienes que hacer algo como:
order by (case when @groupBy = 'VRNOA' then VRNOA
. . .
end)
Sin embargo, tenga cuidado, porque si las columnas son de diferentes tipos, pueden ocurrir cosas inesperadas u otro error. (Existe una alternativa para usar SQL dinámico, pero no la recomendaría).
Además, el nombre @groupby
es un poco engañoso. "Agrupación" es un término SQL equivalente a "agregación". No @OrderBy
o @SortBy
ser más apropiado?