Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как сделать, чтобы  [new]
Паша01
Member

Откуда:
Сообщений: 310
Мне надо сделать так, чтобы в выборке записи, у которых конкретное поле "field_id" имеет значение null, выводились бы первыми в списке, а потом все остальные, у которых поле "field_id" не null. Как такое можно сдлеать одним запросом и без пост-обработки?
6 ноя 14, 15:42    [16806894]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Паша01
Member

Откуда:
Сообщений: 310
Название темы не дописал, извините )
6 ноя 14, 15:42    [16806897]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
отсортируйте с таким условием через CASE
6 ноя 14, 15:42    [16806898]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Паша01
у которых конкретное поле "field_id" имеет значение null, выводились бы первыми в списке, а потом все остальные, у которых поле "field_id" не null. Как такое можно сдлеать одним запросом и без пост-обработки?

ORDER BY field_id
6 ноя 14, 15:44    [16806907]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Паша01
Member

Откуда:
Сообщений: 310
Glory
ORDER BY field_id

Забыл добавить, что те, которые не равны нулю, должны быть отсортированны уже по другому полю. Вот тут я и забуксовал.
6 ноя 14, 15:46    [16806917]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Паша01
Glory
ORDER BY field_id

Забыл добавить, что те, которые не равны нулю, должны быть отсортированны уже по другому полю. Вот тут я и забуксовал.

а може все условие задачи сразу с примером данных ?
6 ноя 14, 15:48    [16806929]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
CASE
мой хрустальный шар уже ответил
6 ноя 14, 15:55    [16806981]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Glory
Member

Откуда:
Сообщений: 104751
ORDER BY isnull(field_id), <other fields>
6 ноя 14, 16:00    [16807017]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
ORDER BY CASE WHEN field_id IS NOT NULL THEN 0 END,<other fields>
6 ноя 14, 16:10    [16807098]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Паша01
Member

Откуда:
Сообщений: 310
iap
ORDER BY CASE WHEN field_id IS NOT NULL THEN 0 END,<other fields>

Спасибо, работает! Но как оно работает?! Меня смущает 0
6 ноя 14, 16:30    [16807261]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Паша01
Меня смущает 0
Поставьте туда любое число
или строку или дату или константное выражение какое-нибудь или что Вам больше нравится!
6 ноя 14, 16:45    [16807366]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
Паша01
Меня смущает 0
Поставьте туда любое число
или строку или дату или константное выражение какое-нибудь или что Вам больше нравится!
Только не NULL !!!
6 ноя 14, 16:45    [16807372]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать, чтобы  [new]
Паша01
Member

Откуда:
Сообщений: 310
Магия короче, я понял!
6 ноя 14, 17:35    [16807687]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить