Страница 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));