同时对两列进行排序(相交)

时间:2010-05-25 17:41:25

标签: sql sorting sql-order-by

我的表格中包含 CommonName FirstName 字段。只有两个字段都有数据,而不是两个。有没有办法在SQL Server上以交叉方式排序行?

示例:

CommonName FirstName
Bern
           Wade
Ashley
Boris
           Ayana

我想要这样订购的记录:

CommonName FirstName
Ashley
           Ayana
Bern
Boris
           Wade

这是可能的,如果是的话,怎么样?

4 个答案:

答案 0 :(得分:2)

使用CASE statement选择该行的值,然后选择ORDER BY

答案 1 :(得分:1)

ORDER BY CommonName + FirstName,如果可以为空,则为ISNULL(<column>, '')

答案 2 :(得分:1)

ORDER BY
  CASE
    WHEN CommonName is null
    THEN FirstName
    ELSE CommonName
  END

答案 3 :(得分:0)

order by coalesce(CommonName, FirstName)