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