Порядок против двух столбцов одновременно (пересекающихся) - PullRequest
1 голос
/ 25 мая 2010

У меня есть таблица с полями CommonName и FirstName. Только у каждого поля есть данные, но не у обоих. Есть ли способ упорядочить строки пересекающимся способом на SQL Server?

Пример:

CommonName FirstName
Bern
           Wade
Ashley
Boris
           Ayana

Я хочу, чтобы записи были упорядочены следующим образом:

CommonName FirstName
Ashley
           Ayana
Bern
Boris
           Wade

Возможно ли это, и если да, то как?

Ответы [ 4 ]

2 голосов
/ 25 мая 2010

С помощью оператора CASE выберите значение для этой строки и ORDER BY, что.

1 голос
/ 25 мая 2010
ORDER BY
  CASE
    WHEN CommonName is null
    THEN FirstName
    ELSE CommonName
  END
1 голос
/ 25 мая 2010

ORDER BY CommonName + FirstName, с соответствующими ISNULL(<column>, ''), если они обнуляются.

0 голосов
/ 25 мая 2010
order by coalesce(CommonName, FirstName)
...