0

我有一个提供学生表的存储过程,它需要按姓氏、姓名等排序......它还需要根据参数@orderby 进行升序、降序排序......

代码:

订购方式
案子
 当@orderby = 'studentkey' THEN Studentkey END ASC,
案子
 WHEN @orderby = 'studentkey' 和 @desc = 1 THEN Studentkey END DESC,
案子
 WHEN @orderby = 'initials' THEN Initials END ASC,
案子
 WHEN @orderby = 'initials' and @desc = 1 THEN Initials END DESC,
案子
 WHEN @orderby = 'firstname' THEN Firstname END ASC,
案子
 WHEN @orderby = 'firstname' 和 @desc = 1 THEN Firstname END DESC,
案子
 WHEN @orderby = 'nickname' THEN 昵称 END ASC,
案子
 WHEN @orderby = 'nickname' 和 @desc = 1 THEN 昵称 END DESC,
案子
 WHEN @orderby = 'insertion' THEN 插入 END ASC,
案子
 WHEN @orderby = 'insertion' 和 @desc = 1 THEN 插入 END DESC,
案子
 WHEN @orderby = 'surname' THEN Surname END ASC,
案子
 WHEN @orderby = 'surname' 和 @desc = 1 THEN Surname END DESC
内德

@desc = 1 和@desc = 0 之间的输出存在差异,但不是我想要的......

有没有人有办法解决吗?

4

1 回答 1

1

试试这个:

CASE 
 WHEN @orderby = 'studentkey' and @desc = 0 THEN Studentkey END ASC,
CASE 
 WHEN @orderby = 'studentkey' and @desc = 1 THEN Studentkey END DESC,
...
于 2010-04-25T12:02:30.433 回答