U kunt een variabele niet gebruiken in de order by clausule. In plaats daarvan moet je iets doen als:
order by (case when @groupBy = 'VRNOA' then VRNOA
. . .
end)
Wees echter voorzichtig, want als de kolommen van verschillende typen zijn, kunnen er onverwachte dingen gebeuren of kan er een andere fout optreden. (Er is een alternatief om dynamische SQL te gebruiken, maar dat zou ik niet aanraden.)
Ook de naam @groupby is een beetje misleidend. "Groeperen" is een SQL-term die gelijk is aan "aggregatie". Zou niet @OrderBy of @SortBy geschikter zijn?