[英]SQL Server query sorting on multiple columns
你可以尝试这样的事情:
SELECT SalesRepName, [Status]
FROM #YourTable
ORDER BY SalesRepName
, CASE [Status]
WHEN 'Pending' THEN 1
WHEN 'Sent' THEN 2
WHEN 'Out for signature' THEN 3
ELSE 4
END
解释:
您想要按字符串列排序,但不想按字母顺序排序。
一种方法是为每个可能的字符串分配一个数字值作为排序依据。
对此的一个警告是,如果这些 Status 标签发生变化,那么您的CASE
可能会像您最初预期的那样突然停止工作。 如果可以改为引用某种 StatusID,那会更好。
或者,如果您的企业有一个共同的工作流程,其中一个项目总是一个接一个地发生。 您可以考虑在存储状态的表中添加某种“ParentStatusID”或“OrderID”。 通过这种方式,排序会继承到您的查询中,未来的状态将自动以正确的顺序显示在您的报告中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.