Grievous написал(а):
-------------------------------------------------------
> Есть задача вывести списки читателей по отделам
> перерегистрировавшихся в 2019 году.
>
> Сначала последовательным поиском отбираю все
> перерегистрации за 2019 год
> val(V52^*)>=20190101 and val(V52^*)<=20191231
>
> Потом хочу оставить только записи с конкретным
> отделом в 56 поле
> (V56='ОЛИЯ') and (val(V52^*)>=20190101 and
> val(V52^*)<=20191231)
>
> Найдено документов: 0
> [
irbis.elnit.org]
>
> Почему так?
>
> Находится только отдел ОРС, который у нас всегда в
> первом повторении 56 поля. Если название в других
> повторениях. то уточняющий поиск не срабатывает.
>
> Выхожу из положения поиском по условию «Содержит»
> (V56 : 'ОЛИЯ') and (val(V52^*)>=20190101 and
> val(V52^*)<=20191231)
> Но там проблема в том, что попадаются отделы,
> название которых есть внутри названий других
> отделов и «найдёт» лишнее.
Если Вы хотите отобрать документы по своим условиям, то напишите запрос:
rsum((if p(v56)then if V56 = 'ОЛИЯ'then'1;'else'0;'fi fi))>0 and rsum((if p(v52)then if val(V52^*)>=20190101 and val(V52^*)<=20191231 then'1;' else '0;'fi fi))>0
в окне свободного поиска. А с составлением запроса через указанный интерфейс, извините, помочь не могу.
Редактировано 1 раз. Последний раз 14.01.2020 11:18 пользователем Сорокина Лариса.