0
Голосовать

Интервал дат в запросе

Создано:
Метки записи:

Подскажите, пожалуйста, как в запросе посчитать количество людей, которые, например, приобрели товар в течение 01.01.2006 и 12.31.2006. Никак не пойму, как в запросе указать какую-то определенную дату.

Комментарии

Злотко Александр

Здравствуйте, Ирина!

Для того чтобы в менеджере фильтров определить точную дату, Вам нужно активировать фильтр по дате.

В той же строке рядом, должен быть параметр равно. Щёлкаете по параметру и открывается список всех доступных условий (равна или больше, равно и т.д).
Устанавливаете нужное Вам условие и в следующем элементе указываете значение даты.

В вашем случае нужно выбрать условие Дата... между 01.01.2006 и 12.31.2006

Если Вам не удастся решить Вашу задачу, используя указания выше, обратитесь в службу поддержки компании Террасофт по адресу support@tscrm.com c запросом на получение скриншотов, демонстрирующих данную функциональность.

Приятной работы!
Будем рады ответить на Ваши дополнительные вопросы.

Злотко Александр
Support manager

Irina K

Спасибо! К сожалению, вы меня не совсем поняли. Я не фильтры имела в виду. Меня интересовал SQL-запрос (я уже разобралась сама). Как работать с фильтрами, я знаю. Но то, что необходимо мне, с помощью фильтров сделать нельзя.

iCE

WHERE (CreateDate BETWEEN '2005.07.10' AND '2005.09.10')
год.месяц.день а сервак сам там разберется )

Евгений Хорошилов

Лучше явно конвертнуть при помощи CONVERT, ну или на худой конец кастом...

Валентин Феденюк

select count(id)
from cm_Company
where
Exists (select cm_Document.id
from cm_Document
left outer join cm_DocumentInfo
on
cm_DocumentInfo.Subj_id = cm_Document.id And
cm_DocumentInfo.InfoType_id = (select id from cm_AddInfoType where Code = 'docPaymentDate')
where
cm_Document.Company_id = cm_Company.id And
cm_Document.DocumentType_id = (select id from cm_DocumentType where Code = 'Invoice') And
cm_Document.DocumentState_id = (select id from cm_DocumentType where Code = 'Paid') And
cm_DocumentInfo.DateValue between Convert(datetime, '01-01-2006', 104) And Convert(datetime, '31-12-2006', 104)
)

По использованию переменных datetime можно прочитать в help. Очень рекомендую - там описаны не только сравнение, а и конвертация.

Irina K

Спасибо всем за помощь!