SQL: как сортировать строки по двум столбцам, но с использованием условий для этих столбцов - PullRequest
2 голосов
/ 13 сентября 2011

У меня есть таблица с двумя столбцами.Мы назовем таблицу Table1 и столбцы Col1 и Col2, которые являются текстовыми столбцами.

Некоторые строки будут иметь данные в Col1, в то время как Col2 будет нулевым.Тогда есть несколько строк, где Col1 будет нулевым, а Col2 будет иметь данные.И, наконец, некоторые строки будут содержать данные в обоих.Не существует строк, в которых оба столбца являются нулевыми.

Я хочу прочитать все строки, но сортировка должна быть следующей: если в столбце Col1 есть данные, то этот столбец используется независимо от того, что находится в столбце Col2.Если Col1 равен нулю, он использует Col2.

Я даже не уверен, возможно ли вообще генерировать это с помощью сортировки.Спасибо за любую помощь.

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

Есть несколько способов сделать это. Вот один из них:

order by coalesce(col1, col2)
2 голосов
/ 13 сентября 2011
....
order by
case when Col1 is not null then Col1
when Col1 is null then Col2
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...