Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Сортировка объединенных запросов


Автор: zhpasha 2.4.2008, 19:39
Доброго времени суток. 

Имеется простенькая таблица cities вида:

id         name
1          Москва
2          Азов
3          Абакан
4          Владимир
5          Белгород
6          Черкесск

Запрсо таков
Код

SELECT * FROM `cities` WHERE `id`= 1 UNION (SELECT * FROM `cities` ORDER BY `name` ASC) 


Пытаюсь получить следующий результат...:
1          Москва
3          Абакан
2          Азов
5          Белгород
4          Владимир
6          Черкесск


Но, почему-то UNION игнорирует ORDER BY в скобке... 

В чем может быть проблема?

Автор: timon1410 3.4.2008, 00:08
Код

SELECT cites.*, IF(id=1, 0, 1) as idx FROM `cities` order by idx, `name`


а зачастую просто добавляют еще одно поле - приоритет и сортируют по нему, а потом по имени... (Питер же придется на второе место ставить или как smile)

Автор: zhpasha 3.4.2008, 00:41
Ух.. Решение, действительно! Спасибо!

Цитата

(Питер же придется на второе место ставить или как smile)


Мэйби-мэйби) Там посмотрим;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)