Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Order by 
V
    Опции темы
sol78
Дата 1.6.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



Мне нужно написать запрос, который далал селекцию по возростанию, но значения равные -1 ставил бы в конец :
Код

SELECT Name, Units, Description, TimeOutSecs, ListOrder FROM TBL_ReportVars WHERE ScriptID = ...
        Order by ListOrder

значения ListOrder == -1 ставит всегда в начало...помогите плз ...
PM MAIL   Вверх
Magnifico
Дата 1.6.2008, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 4
Всего: 17



Код

order by 
case when ListOrder = -1 then 1000000000 else ListOrder end




--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
skyboy
Дата 1.6.2008, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



именно "-1" или вообще все отрицательные?
если второе, то
Код

ORDER BY 
sign(listorder) DESC, listorder

PM MAIL   Вверх
sol78
Дата 1.6.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



skyboy, именно -1
может есть еще варианты?

Добавлено через 1 минуту и 41 секунду
union из этой оперы?
PM MAIL   Вверх
skyboy
Дата 1.6.2008, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



Цитата(sol78 @  1.6.2008,  19:25 Найти цитируемый пост)
именно -1

тогда
Код

order by listorder = -1 ASC, listorder

PM MAIL   Вверх
sol78
Дата 2.6.2008, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



Код

SELECT Name, Units, Description, TimeOutSecs, ListOrder FROM TBL_ReportVars 
WHERE ScriptID = 9
ORDER BY ListOrder = -1 ASC, ListOrder

почему не работает?:
Incorrect syntax near '='.

(MSSQL)
PM MAIL   Вверх
skyboy
Дата 2.6.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



Цитата(sol78 @  2.6.2008,  08:24 Найти цитируемый пост)
MSSQL

молодец. вовремя.

Добавлено через 2 минуты и 13 секунд
тогда используй способ, предложенный Magnifico.
PM MAIL   Вверх
sol78
Дата 2.6.2008, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



а union для етой цели подойдет?
если да, то как?
PM MAIL   Вверх
sol78
Дата 2.6.2008, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



skyboy,  код Magnifico не пошел на DB2 
- не ужеле нельзя найти что то стардатное для DB2  и MSSQL(2000/ 2005) и желательно Oracle?? smile 
PM MAIL   Вверх
Deniz
Дата 2.6.2008, 10:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 6
Всего: 44



Ну тогда пользуй union:
Код
SELECT 1, Name, Units, Description, TimeOutSecs, ListOrder FROM TBL_ReportVars 
WHERE ScriptID = 9 and ListOrder <> -1
union
SELECT 2, Name, Units, Description, TimeOutSecs, ListOrder FROM TBL_ReportVars 
WHERE ScriptID = 9 and ListOrder = -1
ORDER BY 1, 6



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
sol78
Дата 2.6.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 7.7.2007

Репутация: нет
Всего: 0



Большое спасибо!
Тема закрыта!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.