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?