sql server按表中的第一列排序

Rod*_*Rod 4 sql sql-server sql-server-2008

exec ('select * from variable_table_name
order by @variable')
Run Code Online (Sandbox Code Playgroud)

我正在尝试将动态sql语句放在一起,您可以在其中指定表名和排序列.如果我可以指定一个表名来使sql工作,那将是很好的.

有没有办法选择表的第一列进行排序,如果@variable排序未指定?

Ode*_*ded 11

您可以使用:

ORDER BY 1;
Run Code Online (Sandbox Code Playgroud)

ORDER BY子句(Transact-SQL):

order_by_expression - 指定要对查询结果集进行排序的列或表达式.排序列可以指定为名称或列别名,也可以指定非负整数,表示选择列表中列的位置.

(强调我的)