Sie können keine Variable in der order by
verwenden Klausel. Stattdessen müssen Sie etwas tun wie:
order by (case when @groupBy = 'VRNOA' then VRNOA
. . .
end)
Seien Sie jedoch vorsichtig, denn wenn die Spalten unterschiedlichen Typs sind, können entweder unerwartete Dinge passieren oder ein weiterer Fehler auftreten. (Es gibt eine Alternative zur Verwendung von dynamischem SQL, aber ich würde das nicht empfehlen.)
Auch der Name @groupby
ist etwas irreführend. „Gruppierung“ ist ein SQL-Begriff, der „Aggregation“ entspricht. Wäre nicht @OrderBy
oder @SortBy
angemessener sein?