Сложная сортировка таблицы

oopros

Новичок
Есть таблица подобной структуры:
Код:
d1 - дата месяца (2 цифры)(text)
d2 - цифра месяца (2 цифры)(text)
d3 - год (4 цифры)(text)
val - произвольное текстовое поле (text)
нужно выводить в таком порядке:
1) Там где дата соответствует сегодняшнему дню 4 ближайшие дня, сортирую в порядке возрастания даты
2) дальше выводятся поля, где поля val не пустое
3) дальше выводятся где дата начинаяется +4 дня и далее
4) дальше выводится где дата вчера или еще ранее (число меньше сегодняшнего)

Можно ли это сделать одним запросом, или нужно делить на 4 запроса?
 

С.

Продвинутый новичок
Язык SQL достаточно гибкий и почти все можно сделать одним запросом. Вот только нужно ли? Для чего требуется один запрос, ради спортивного интереса?
 

AnrDaemon

Продвинутый новичок
При том, что все поля в БД текстовые, запрос будет содержать просто безумное количество конверсий и преобразований.
Переделайте таблицу нормально, дату хранить надо в виде даты, а не в виде чёрт знает чего.
 
Сверху