具有多列和 Desc/Asc 排序的 Order By 子句的 CASE 语句 [英] CASE Statement for Order By Clause with Multiple Columns and Desc/Asc Sort

查看:28
本文介绍了具有多列和 Desc/Asc 排序的 Order By 子句的 CASE 语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

继我之前的问题之后 案例陈述对于带有 Desc/Asc 排序的 Order By 子句 我有这样的语句:

Following on from my earlier question here Case statement for Order By clause with Desc/Asc sort I have a statement like this:

SELECT 
    *
FROM
    TableName
WHERE
ORDER BY 
    CASE @OrderByColumn WHEN 1 THEN Forename END DESC, 
    CASE @OrderByColumn WHEN 2 THEN Surname END ASC 

这很有效,但有时我需要的不仅仅是按顺序排列的列.我实际上需要这样的东西:

This works well, but sometimes I need more than column in the order by. I actually need something like this:

.....
ORDER BY
    CASE @OrderByColumn WHEN 1 THEN Forename, Date, Location END DESC

我不知道如何使 CASE 语句允许 THEN 部分中的多列.

I can't work out how to make the CASE statement allow multiple columns in the THEN part.

推荐答案

你需要这个吗?

ORDER BY
    CASE @OrderByColumn WHEN 1 THEN Forename END DESC, Date, Location,
    CASE @OrderByColumn WHEN 2 THEN Surname END ASC 

这篇关于具有多列和 Desc/Asc 排序的 Order By 子句的 CASE 语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆