mssqlsrv (9/6/2012)
I think you can not use variable in order by clause.Variables are only allowed when ordering by an expression referencing a column name.
Yeah you can. Just tried this and it works:
declare @index int = 4
select top 10 * from information_schema.COLUMNS
order by (case @index when 4 then TABLE_SCHEMA else COLUMN_NAME end)
If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.