Сортировка данных

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Сортировка данных

Сообщение Marisha_P »

Здравствуйте. Подскажите, пожалуйста, как правильно организовать сортировку. У меня есть запрос, который выводит спецификацию актов на услуги, работы из снабжения

Код: Выделить всё

select
*,
(SpSopr.KOLFACT*SpSopr.Price) (FieldName = Stoim),
(SpSopr.SUMNDS+SpSopr.KOLFACT*SpSopr.Price) (FieldName = StoimNds)
from
   fpco (readonly),
   exclassval exclassvalRes,
   exclassseg exclasssegRes,
   exclassval exclassvalSt,
   exclassseg exclasssegSt,
   Pick,akt,SoprOrdB
where
((
     Katsopr.nrec     == SpSopr.cSopr
and  bdate           <<= KatSopr.dsopr   (noindex)   //фильтра на даты
and  edate           >>= KatSopr.dsopr   (noindex) 
and  word(111)        == KatSopr.vidSopr            //акты на прием услуг - снабжение
and  KatSopr.nrec     == SpSopr.cSopr
and  SpSopr.cMcUsl    == KatUsl.nrec
and  KatSopr.cOrg     == KatOrg.nrec                //контрагент
and  KatSopr.cDogovor == Dogovor.nrec               //договор
and  KatSopr.cOtvPodr == fpco.nrec                  //центр ответственности
and  Spsopr.nrec      == SoprOrdB.cSpSopr           //мвз
and  SoprOrdB.cPodr   == KatPodr.nrec

//----------код статьи---------------
      and SpSopr.nrec                  == exclassvalSt.crec
      and 1110                         == exclassvalSt.wtable
      and 217                          == exclassvalSt.classcode
      and exclassvalSt.cclassseg       == exclasssegSt.nrec

//----------код ресурса--------------
      and SpSopr.nrec                  == exclassvalRes.crec
      and 1110                         == exclassvalRes.wtable
      and 222                          == exclassvalRes.classcode
      and exclassvalRes.cclassseg      == exclasssegRes.nrec
))
  Condition on_MarkRes as SearchMarker(MarkRes, exclassvalRes.cclassseg ,IndexNo )
  Condition on_MarkOrg as SearchMarker(MarkOrg, KatSopr.cOrg ,IndexNo )
;


и мне нужно данные отсортировать по KatPodr.nrec. Если добавляю order, то и сортировки нет, и Condition перестают отрабатывать:(
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Сортировка данных

Сообщение Алексей »

Я обычно не мудрствую, создаю таблицу в памяти, наполняю её данными и вывожу по нужному мне индексу, который сам же и описываю.
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Сортировка данных

Сообщение Marisha_P »

я тоже создала, но у меня там несколько индексов..и если указываю нужный - первым, не сортирует:(
Irina_
Местный житель
Сообщения: 554
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Сортировка данных

Сообщение Irina_ »

Здравствуйте. Тоже часто к таблицам в памяти создаю несколько индексов. А при необходимости сортировки по нужному индексу делаю, например, так:
<имя view>._Loop <имя таблицы в памяти> ordered by index <имя индекса>
{

}
Проблем с сортировкой не встречала.
Ответить