gpt4 book ai didi

sql-server - 在 "Case When"子句中使用 "Order by"根据多列对结果集进行排序

转载 作者:行者123 更新时间:2023-12-02 08:50:44 25 4
gpt4 key购买 nike

我想在 Order By 子句中使用 Case When,但我想在多个列上对结果集进行排序。当我使用以下语法时,出现语法错误。

Select * From MyTable
ORDER BY
CASE
WHEN @ColumnName='NameAndId' THEN Name,Id
WHEN @ColumnName='TitleAndId' THEN Title,Id
END Desc

有人知道正确的语法吗?

谢谢

最佳答案

您的案例仅在 NameTitle 之间切换,因此您可以将 Id 移出 case 语句。

不确定要在何处应用 desc。这将按 NameTitle 降序排列,对于领带,它将按 Id 升序排列。

Select * From MyTable
ORDER BY
CASE
WHEN @ColumnName='NameAndId' THEN Name
WHEN @ColumnName='TitleAndId' THEN Title
END Desc, Id

关于sql-server - 在 "Case When"子句中使用 "Order by"根据多列对结果集进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8642878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com