не работает запрос

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

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

Ответить
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

не работает запрос

Сообщение scanner »

подскажите в чем проблемма, пытаюсь сделать запрос по индексу, но галактика говорит что его нет, хотя в таблице индексов он есть

select * from bookprzk where ((date(1,8,2006) <<= bookprzk.DREG));
Bulat-bash
Постоянный гость
Сообщения: 52
Зарегистрирован: 28 июн 2006, 08:45
Откуда: Уфа

Сообщение Bulat-bash »

попробуй так
select * from bookprzk
where (
date(1,8,2006) < bookprzk.DREG);
Bulat-bash
Постоянный гость
Сообщения: 52
Зарегистрирован: 28 июн 2006, 08:45
Откуда: Уфа

Сообщение Bulat-bash »

или
select * from bookprzk
where (
date(1,8,2006) <= bookprzk.DREG);
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

номер индеска не подскажете?
я так нашел только
DIRECT +REGDOC+DREG (BOOKPRZK01,BOOKPRZK10)
так что если хотите воспользоваться то нужно 3 фильтра задавать
??? == bookprzk.direct
and ??? == bookprzk.REGDOC
and date(1,8,2006) <<= bookprzk.DREG
без индекса конечно тоже можно искать - тока долго все это.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Раз говорят что нет индекса..значится нет...
Saltava
Новичок
Сообщения: 27
Зарегистрирован: 05 июл 2006, 08:44
Откуда: ООО "СИБИНТЕК" г.Ангарск

Сообщение Saltava »

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

select * from bookprzk 
where ((
  date(1,8,2006) <<= bookprzk.DREG (noindex)
          )); 
Я всегда так делаю :)
Viva la resistans
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

Saltava писал(а):

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

select * from bookprzk 
where ((
  date(1,8,2006) <<= bookprzk.DREG (noindex)
          )); 
Я всегда так делаю :)
Так оно оно так, но при большом количестве записей, при выборке без индекса скорость будет очень медленная и ждать окончания отработки запроса прийдётся очень долго.

Так прокатит на небольших объемах данных.
А лучше всё же подобрать индекс.
поЧитатель
Посетитель
Сообщения: 44
Зарегистрирован: 27 янв 2006, 14:21

Сообщение поЧитатель »

Я бы сделал отдельно

Для Книги продаж
SELECT * FROM BOOKPRZK(BOOKPRZK01) WHERE((1==DIRECT
AND 0==REGDOC
AND DATE(1,8,2006)<<=DREG));

Для Книги покупок
SELECT * FROM BOOKPRZK(BOOKPRZK01) WHERE((2==DIRECT
AND 0==REGDOC
AND DATE(1,8,2006)<<=DREG));
Ответить