Страница 1 из 1

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

Добавлено: 23 авг 2006, 13:17
scanner
подскажите в чем проблемма, пытаюсь сделать запрос по индексу, но галактика говорит что его нет, хотя в таблице индексов он есть

select * from bookprzk where ((date(1,8,2006) <<= bookprzk.DREG));

Добавлено: 11 сен 2006, 15:16
Bulat-bash
попробуй так
select * from bookprzk
where (
date(1,8,2006) < bookprzk.DREG);

Добавлено: 11 сен 2006, 15:25
Bulat-bash
или
select * from bookprzk
where (
date(1,8,2006) <= bookprzk.DREG);

Добавлено: 11 сен 2006, 15:49
edward_K
номер индеска не подскажете?
я так нашел только
DIRECT +REGDOC+DREG (BOOKPRZK01,BOOKPRZK10)
так что если хотите воспользоваться то нужно 3 фильтра задавать
??? == bookprzk.direct
and ??? == bookprzk.REGDOC
and date(1,8,2006) <<= bookprzk.DREG
без индекса конечно тоже можно искать - тока долго все это.

Добавлено: 11 сен 2006, 15:51
Den
Раз говорят что нет индекса..значится нет...

Добавлено: 12 сен 2006, 05:41
Saltava

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

select * from bookprzk 
where ((
  date(1,8,2006) <<= bookprzk.DREG (noindex)
          )); 
Я всегда так делаю :)

Добавлено: 12 сен 2006, 05:53
Алексей
Saltava писал(а):

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

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

Так прокатит на небольших объемах данных.
А лучше всё же подобрать индекс.

Добавлено: 14 сен 2006, 12:16
поЧитатель
Я бы сделал отдельно

Для Книги продаж
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));