Du kan inte använda en variabel i order by
klausul. Istället måste du göra något som:
order by (case when @groupBy = 'VRNOA' then VRNOA
. . .
end)
Var dock försiktig, för om kolumnerna är av olika typer kan antingen oväntade saker hända eller få ett annat fel. (Det finns ett alternativ att använda dynamisk SQL, men jag skulle inte rekommendera det.)
Även namnet @groupby
är lite missvisande. "Gruppering" är en SQL-term som motsvarar "aggregation". Skulle inte @OrderBy
eller @SortBy
vara lämpligare?