Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Не сортирует при UNION
NitroGenerate  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 243
Пользователь №: 27946
На форуме: 13 лет, 11 месяцев, 9 дней
Карма: 11




Ребят, подскажите пожалуйста, почему когда я объединяю 2 запроса в 1, и каждый отсортировываю как надо, у меня отваливается сортировка, а сортирует тупо по id

(
SELECT
*
FROM table
WHERE

(time_delete > '1334188800' AND time_delete <'1341964800')
AND `invisible`='no'
ORDER BY text
)
UNION
(
SELECT
*
FROM table
WHERE

`invisible`='yes'
ORDER BY text
)
LIMIT 0, 99

Если использовать первый запрос, то сортировка работает, либо если второй - тоже работает.
Если вместе через юнион, сортировка отваливается и сортируется по порядковому номеру в порядке его убавления. Как решить не знаю =(



Спустя 28 минут (11.07.2012 - 10:03) NitroGenerate написал(а):
Проблему решил, путем добавления еще одного поля для сортировки:
(
SELECT
table
.*, 1 n
FROM table
WHERE

(time_delete > '1334188800' AND time_delete <'1341964800')
AND `invisible`='no'
)
UNION
(
SELECT
table
.*, 2 n
FROM table
WHERE

`invisible`='yes'
)
ORDER BY n, text LIMIT 0, 99

P.S. Эх, жаль не могу поставить сам себе "+" в карму :D
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса