如何在'order by'中添加条件?

时间:2010-11-18 09:26:02

标签: sql

我有一个带有输入参数的存储过程,现在在这个参数的基础上,我的'order by'语句将改变,如果输入参数是'ID'(int类型列)然后按ID排序,如果是' ProductType'然后按Producttype排序,如果是'IssueDate',那么它应该按issueDate排序。

现在我在我的SP中添加了2 if else语句,但是这个解决方案不可扩展,所以我的问题是有更好的方法。

1 个答案:

答案 0 :(得分:4)

如果使用SQL Server,您可以使用案例陈述

order by
    case inputparameter
    when 'id'  then id
    when 'productType' then ProductType
    else  defaultOrderBy
    end