Sql server SQLServer2005中的订购方式
根据列的值,我必须执行各种排序。如果列b为1,则执行以下查询:Sql server SQLServer2005中的订购方式,sql-server,tsql,Sql Server,Tsql,根据列的值,我必须执行各种排序。如果列b为1,则执行以下查询: select * from a select * from a order by c desc, b 如果列b为0,则执行以下查询: select * from a select * from a order by c desc, b 如何在一个查询中执行此操作?由于没有为b=0的情况提供订单条件,并且t-SQL没有物理订单的表达式,因此有必要在此处使用动态SQL。请首先检查b=0的结果的顺序。由于您没有为b=0的情况提供订
select * from a
select * from a order by c desc, b
如果列b为0,则执行以下查询:
select * from a
select * from a order by c desc, b
如何在一个查询中执行此操作?由于没有为b=0的情况提供订单条件,并且t-SQL没有物理订单的表达式,因此有必要在此处使用动态SQL。请首先检查b=0的结果的顺序。由于您没有为b=0的情况提供订单条件,并且t-SQL没有物理订单的表达式,因此有必要在此处使用动态SQL。请先检查b=0的结果的顺序。非常小的诡辩,因为表和列显然是假的,但From子句应该是
From a
该查询按c描述对所有选择进行排序,b如果你是对的,那不起作用,你已经把它改为使用临时表,这意味着你也可以按b订购。一切正常。实际上,b这是我们时区的日期时间,考虑到夏令时,c是夏令时。第二个查询应该在从夏季到冬季的时间变化日执行。在结果中,我希望结果按日期排序,但当日期为更改日期时,我必须使用ORDER by 1 Desc排序。我可以使用没有存储过程和游标的查询来实现这一点吗?这是一个很小的疑问,因为表和列显然是假的,但是From子句应该是From a
,该查询按c desc对所有选择进行排序,b如果你是对的,那不起作用,你已经把它改为使用临时表,这意味着你也可以按b订购。一切正常。实际上,b这是我们时区的日期时间,考虑到夏令时,c是夏令时。第二个查询应该在从夏季到冬季的时间变化日执行。在结果中,我希望结果按日期排序,但当日期为更改日期时,我必须使用ORDER by 1 Desc排序。我可以使用不带存储过程和游标的查询来完成这项工作吗?该查询按c desc,bif b=1对所有选择进行排序,它按null,null进行排序。i、 它根本不排序,查询按c desc对所有选择进行排序,bif b=1,它按null,null进行排序。i、 它根本不排序
ORDER BY
CASE WHEN b = 0 THEN C END DESC,
CASE WHEN b = 0 THEN b END