Nie możesz użyć zmiennej w order by
klauzula. Zamiast tego musisz zrobić coś takiego:
order by (case when @groupBy = 'VRNOA' then VRNOA
. . .
end)
Bądź jednak ostrożny, ponieważ jeśli kolumny są różnych typów, mogą się zdarzyć nieoczekiwane rzeczy lub może pojawić się kolejny błąd. (Istnieje alternatywa dla dynamicznego SQL, ale nie polecam tego.)
Również nazwa @groupby
jest trochę mylące. „Grupowanie” to termin SQL równoważny „agregacji”. Czy nie @OrderBy
? lub @SortBy
być bardziej odpowiednie?