Вопрос № 108555: Привет всем!
Подскажите, как отсортировать строки по определенному полю, с учетом такой штуки: Если значение этого поля рано нулю или его нет, то использовать значени другого поля?...
Вопрос № 108.555
Привет всем!
Подскажите, как отсортировать строки по определенному полю, с учетом такой штуки: Если значение этого поля рано нулю или его нет, то использовать значени другого поля?
Отправлен: 08.11.2007, 13:06
Вопрос задал: Stals (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: HookEst
Здравствуйте, Stals!
если поля числовые и положительные можно использовать Greatest():
SELECT `f1`,`f2` FROM `table` ORDER BY GREATEST(`f1`,`f2`)
в противном случае, можно так и писать:
SELECT `f1`,`f2` FROM `table` ORDER BY IF(`f1` IS NULL OR `f1`=0,`f2`,`f1`)
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 08.11.2007, 13:57 Оценка за ответ: 5 Комментарий оценки: Благодарю за помощь!
Усе получилось, как надо.. :)
Отвечает: Netizen
Здравствуйте, Stals!
Можно ставить условие OR (ИЛИ). Тогда получается, что если в левой части условие не исполняется переходим к правой части!
Ответ отправил: Netizen (статус: Студент)
Ответ отправлен: 08.11.2007, 14:46
Отвечает: Nomadfromx2007
Здравствуйте, Stals!
Предлагаю создать доп.поле с нужным условием и уже по этому полю делать сортировку.
Приложение:
Ответ отправил: Nomadfromx2007 (статус: 1-ый класс)
Ответ отправлен: 09.11.2007, 02:23