sql >> Base de Datos >  >> RDS >> Sqlserver

Sql Server 2008:error extraño en el procedimiento almacenado

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?