Не можете да използвате променлива в order by
клауза. Вместо това трябва да направите нещо като:
order by (case when @groupBy = 'VRNOA' then VRNOA
. . .
end)
Бъдете внимателни обаче, защото ако колоните са от различни типове, може да се случат неочаквани неща или да получите друга грешка. (Има алтернатива за използване на динамичен SQL, но не бих го препоръчал.)
Също така името @groupby
е малко подвеждащо. „Групиране“ е SQL термин, еквивалентен на „обединяване“. Не би @OrderBy
или @SortBy
по-подходящ?