|
|
|
| В таблице несколько записей. У некоторых поле даты пустое.
Хотелось бы чтобы при сортровке ASC выводились сначала записи у которых поле не пустое, а потом те, у которых пустое.
Без UNION и двух запростов такое как-нибудь можно реализовать? | |
|
|
|
|
|
|
|
для: tAleks
(25.05.2009 в 22:42)
| | ORDER BY `date` IS NULL DESC, `date` ASC | |
|
|
|
|
|
|
|
для: Trianon
(25.05.2009 в 22:56)
| | Ошибка:
Column 'date_edit' in order clause is ambiguous | |
|
|
|
|
|
|
|
для: tAleks
(25.05.2009 в 23:23)
| | Значит у Вас мультитабличный запрос. Нужно явно указать к какой таблице принадлежит date_edit.
ORDER BY table.date_edit ... | |
|
|
|
|
|
|
|
для: tAleks
(25.05.2009 в 23:23)
| | Это, простите, совсем из другой оперы.
Если название date_edit является неоднозначным - примените однозначное.
Сортировка, тип и смысл значения здесь совершенно не при чем. | |
|
|
|
|
|
|
|
для: Trianon
(26.05.2009 в 06:59)
| | Не, то что неоднозначное, это я понимаю. Только я не могу понять где именно ему неоднозначность не нравиться.
Когда вот так:
не ругается.
А когда так:
ORDER BY `date_edit` IS NULL DESC, `date_edit` ASC
|
То ругается. | |
|
|
|
|
|
|
|
для: tAleks
(26.05.2009 в 11:17)
| | вот как?
Ну тогда еще вот так можно попробовать
ORDER BY COALESCE(`date_edit`, '9999-12-31') ASC | |
|
|
|
|
|
|
|
для: tAleks
(25.05.2009 в 22:42)
| | может так?
ORDER BY (`date_edit` = "") DESC, `date_edit` ASC | |
|
|
|
|
|
|
|
для: а-я
(25.05.2009 в 23:32)
| | Нет, так тоже не пойдет, потому что если даты нет, то в поле NULL.
И к тому же, Мускул говорит что поле date_edit не однозначно. | |
|
|
|