mssql sqlserver order by 根据条件选择不同的列名进行排序的方法分享


摘要:
下文讲述sqlserver中order by 根据不同的条件生成不同的排序字段的方法分享
实验环境:sql server 2008 R2


例:
根据列中的内容不同,按照不同的字段进行排序

  select [列名A], [列名B],[列名C] from tableName 
   order by case  when 表达式1 then [列名A]   
                  when 表达式2 then [列名B]   
                  else [列名C]
                end

 ---当满足表达式1 时,采用列名A排序
 ---当满足表达式2 时,采用列名B排序
 ---否则采用列名C排序