|
Отбор по возрасту в запросе | ☑ | ||
---|---|---|---|---|
0
Len1vec
04.12.21
✎
14:24
|
Добрый день.
Подскажите, пожалуйста, как в запросе правильно установить отбор записей РС по возрасту? Используя РАЗНОСТЬДАТ() в запросе не выбирается ни одной записи. Если же в запросе уберу условия с РАЗНОСТЬДАТ(), то записи в выборке запроса есть. ВЫБРАТЬ Статистика.Регистратор, Статистика.СлучайОбращения, Статистика.ДиагнозОкончательный, Статистика.Пациент, Статистика.Специалист, Статистика.Специализация, Статистика.Подразделение, РАЗНОСТЬДАТ(Статистика.Регистратор.Дата, ВЫРАЗИТЬ(Статистика.Пациент.ДатаРождения КАК ДАТА), ГОД) КАК ВозрастВГодах ИЗ РегистрСведений.Статистика КАК Статистика ГДЕ Статистика.Период МЕЖДУ &ПериодНачало И &ПериодКонец И ВЫБОР КОГДА &Специализация <> ЗНАЧЕНИЕ(Справочник.КлассификаторСпециализаций.ПустаяСсылка) ТОГДА Статистика.Специализация = &Специализация ИНАЧЕ ИСТИНА КОНЕЦ И ВЫБОР КОГДА &Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияКомпании.ПустаяСсылка) ТОГДА Статистика.Подразделение = &Подразделение ИНАЧЕ ИСТИНА КОНЕЦ И РАЗНОСТЬДАТ(Статистика.Регистратор.Дата, ВЫРАЗИТЬ(Статистика.Пациент.ДатаРождения КАК ДАТА), ГОД) >= &ВозрастМин И РАЗНОСТЬДАТ(Статистика.Регистратор.Дата, ВЫРАЗИТЬ(Статистика.Пациент.ДатаРождения КАК ДАТА), ГОД) <= &ВозрастМакс И ВЫБОР КОГДА &ГруппаБолезни ТОГДА Статистика.Регистратор.Синдром В ИЕРАРХИИ (&ГруппаЗаболеваний) ИНАЧЕ Статистика.Регистратор.Синдром = &ГруппаЗаболеваний КОНЕЦ И Статистика.Регистратор.СлучайОбращения.ЗаконченныйСлучай |
|||
1
RomanYS
04.12.21
✎
14:26
|
... ВЫРАЗИТЬ(Статистика.Пациент.ДатаРождения КАК ДАТА)
эээ...а какой тип у тебя в ДатаРождения? |
|||
2
Len1vec
04.12.21
✎
14:28
|
(1) изначально дата, но СКД ругается на РАЗНОСТЬДАТ(Статистика.Регистратор.Дата, Статистика.Пациент.ДатаРождения, ГОД). Пришлось выразить так
|
|||
3
RomanYS
04.12.21
✎
14:30
|
(2) Значит не дата...
|
|||
4
Len1vec
04.12.21
✎
14:31
|
(3) Обратил внимание - составной (Строка, Дата)
|
|||
5
Len1vec
04.12.21
✎
14:36
|
(3) с этим проблем не было. Надо было писать РАЗНОСТЬДАТ(ВЫРАЗИТЬ(Статистика.Пациент.ДатаРождения КАК ДАТА), Статистика.Регистратор.Дата, ГОД), а у меня наоборот было (поле ВозрастВГодах даже отрицательное было, а я не заметил)
|
|||
6
серый КТУЛХУ
04.12.21
✎
15:57
|
в консоль запросов - и...
положить этот результат в вт - без фильтра по разность дат только включив это значение в показатель, а финальный запрос - к этой вт с фильтром по этому значению? заодно в консоли посмотришь в эту вт на эту разностьдат прим.: кстати заодно в вт можешь зафигачить для просмотра и эти два условия сравнения. прсто посмотри - может многое прочснится?.. |
|||
7
Len1vec
04.12.21
✎
16:36
|
(6) да я местами просто перепутал даты и всё. Теперь запрос отрабатывает корректно)
|
|||
8
серый КТУЛХУ
04.12.21
✎
16:51
|
(7): о, да. это вечная проблема в консолях запросов - границы периода в параметрах.
в параметрах все сортируется по именам параметров, и часто употребимые названия параметров для границ периода - сортируются в обратном порядке: ДатаМин идет после ДатаМакс, НачалоПериода идет после КонецПериода. когда это начинает раздражать очень сильно - народ переходит на попытки упорядочить - типа Дата1 - Дата2 или НачалоПериода-ОкончаниеПерида, ДатаНачала-ДатаОкончания... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |