Главная страница


su.dbms

 
 - SU.DBMS ----------------------------------------------------------------------
 From : Anton M.Starkov                      2:5020/400     20 May 2002  14:26:26
 To : Dmitry Novikov
 Subject : Re: Параметрический ORDER BY
 -------------------------------------------------------------------------------- 
 
 "Dmitry Novikov" <dim@rnivc.kis.ru> wrote in message
 news:ac5d74$1en3$1@ddt.demos.su...
 
 > Всем привет!
 > Говорил бы что ли, какой сервер... Вот для MS SQL:
 
     Извиняюсь, перепутал конференции, хотел в fido7.su.dbms.mssql
 
 > declare @i int
 > select @i = 2
 > select * from MyTable
 > order by case @i when 1 then Field1 when 2 then Field2 else Field3 end
 >
 
     Да, я написал похожий код, но столкнулся с непонятной для меня
 особенностью, что и вызвало у меня сомнение в првильности моего кода.
 Итак вот моя хп.
 declare @SortOrder int
 select @SortOrder = 1
 SELECT a.Дата, b.HаименованиеКурса, c.Фио
 FROM learning a
 LEFT OUTER JOIN list_course b
 ON a.КодКурса = b.КодКурса
 LEFT OUTER JOIN list_staff c
 ON a.ПостоянныйHомер = c.ПостоянныйHомер
 ORDER BY
 CASE @SortOrder
 WHEN 1 THEN Фио
 WHEN 2 THEN HаименованиеКурса
 WHEN 3 THEN Дата
 ELSE Фио
 END
 Таблица learning  (Дата smalldatetime, КодКурса int, ПостоянныйHомер int ) -
 список оконченных курсов
 Таблица list_course  (КодКурса int, HаименованиеКурса varchar ) - список
 всех курсов
 Таблица list_staff  (ПостоянныйHомер int, Фио  varchar ) - список персонала
 1.   Если @SortOrder =3 , то процедура отрабатывает, если нет то - Syntax
 error converting character string to smalldatetime data type.
 Если убрать WHEN 3 - отрабатывает правильно.
 Что я сделал неправильно?
 2. Как написать код сортировки по нескольким полям, например
 'HаименованиеКурса,Фио' или обратной сортировки 'Фио DESC'
 --
 SY
 Anton M.Starkov
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Параметрический ORDER BY   Anton M.Starkov   18 May 2002 14:40:09 
 Re: Параметрический ORDER BY   Dmitry Novikov   18 May 2002 15:16:59 
 Re: Параметрический ORDER BY   Anton M.Starkov   20 May 2002 14:26:26 
 Re: Параметрический ORDER BY   Dmitry Novikov   20 May 2002 17:01:09 
Архивное /su.dbms/12840e0067bac.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional