Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема как присвоить имя переменной, чтобы использовать o (число прочтений - 1297 )
kollodina
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 34
Зарегистрирован: 07. Июля 2008
как присвоить имя переменной, чтобы использовать o
07. Июля 2008 :: 10:22
Печать  
вот кусочек запроса:
     | (select substr(value,1,9)    from __1S_Const
     |    where id = :ИсторияРеквизита.ТорговаяСеть.регион
     |    and date <= :ДатаРекв and objid = Сеть.id
     |    order by date desc limit 1)  [Регион :Справочник.Регионы] ,
он нормально отрабатывает... однако я хочу в запросе сразу отсортировать при помощи order by.
когда пишу "order by регион" - то возникает ошибка, такой колонки нет с именем "регион".
когда пишу так:
| (select substr(value,1,9)    from __1S_Const
     |    where id = :ИсторияРеквизита.ТорговаяСеть.регион
     |    and date <= :ДатаРекв and objid = Сеть.id
     |    order by date desc limit 1)  Регион [Регион :Справочник.Регионы] ,
то тоже ругается... как бы сделать? спасибо
  
Наверх
 
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: как присвоить имя переменной, чтобы использова
Ответ #1 - 07. Июля 2008 :: 10:36
Печать  
В MSSQL тоже есть такое ограничение, поля вычисленные кореляционными запросами не могут участвовать в предложении order by.

А вообще надо писать тогда так: вместо "order by регион"  писать "order by [Регион :Справочник.Регионы]".

Если честно, то я вообще не понял что это за сервер, и что за таблица, и что за типизация, мне просто порвало мозг. Наверно я отстал от жизни Улыбка
  
Наверх
ICQ  
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: как присвоить имя переменной, чтобы использова
Ответ #2 - 07. Июля 2008 :: 11:24
Печать  
Код
Выбрать все
| (select substr(value,1,9)    from __1S_Const
|    where id = :ИсторияРеквизита.ТорговаяСеть.регион
|    and date <= :ДатаРекв and objid = Сеть.id
|    order by date desc limit 1)  [Регион :Справочник.Регионы],

order by [Регион :Справочник.Регионы]
 



В запросе для этого поля установлено имя [Регион :Справочник.Регионы], поэтому и сортировать надо по нему.
Это уже ВК при получении результата запроса обрезает имя поля до "Регион" (убирает подстроку с типизацией)
Либо в order by можно просто указать номера колонок, по которым сортировать:
Код
Выбрать все
select descr, id from Справочник_Номенклатура
order by 1, 2
 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать