Вход | Регистрация


Отбор по диапазону не числовых кодов

Отбор по диапазону не числовых кодов
Я
   Chuvaschow
 
25.04.18 - 19:26
Здравствуйте, уважаемые форумчане!

Снова требуется Ваш совет. Постановка задачи такая:
есть документ, один из реквизитов которого - справочник. Справочник имеет два реквизита - код (не числовой, вида F20, E03.1, M0.1*) и собственно наименование. Необходимо построить отче, в котором подсчитать сколько документов с таким-то кодом, сколько с кодами из группы такой-то, сколько документов с кодами из диапазона F20-F41.5 и так далее.

https://ibb.co/dFN99H

Подскажите, как строить запрос по диапазонам, тем более не числовых кодов?

Буду очень признателен за помощь.
 
 
   один я дАртаньян
 
1 - 25.04.18 - 19:30
F20,F21,F22, F23.6, F41.5 - Это один диапазон или три?
   Chuvaschow
 
2 - 25.04.18 - 19:33
Это диапазон из группы F00-F45
Да, это один диапазон
   fedoss
 
3 - 25.04.18 - 19:40
Так если это коды МКБ, их можно спокойно сравнивать как строки.
Они же все по формату БЦЦ.Ц
   Chuvaschow
 
4 - 25.04.18 - 19:44
(3) Научите, пожалуйста :)
   fedoss
 
5 - 25.04.18 - 19:46
Ну, например для (2): "F00" <= Код <= ("F45" + ".9")
   один я дАртаньян
 
6 - 25.04.18 - 19:47
(2) Т.е. все что "F" - это один диапазон?

Нутак тупо бери первую букву и групируй по нему.
   Chuvaschow
 
7 - 25.04.18 - 20:28
Хорошо, попробуем.
Попутный вопрос: как лучше организовать подсчеты? написать множество запросов или исполнить один большой и в нем как-то организовывать группировку по условиям и подсчет количества документов?

Запрос простой

    Запрос.Текст = "ВЫБРАТЬ
                   |    Обращения.Ссылка,
                   |    Обращения.ВерсияДанных,
                   |    Обращения.ПометкаУдаления,
                   |    Обращения.Номер,
                   |    Обращения.Дата,
                   |    Обращения.Проведен,
                   |    Обращения.Пол,
                   |    Обращения.Возраст,
                   |    Обращения.ФИО,
                   |    Обращения.Категория,
                   |    Обращения.Исход,
                   |    Обращения.ДатаПоступления,
                   |    Обращения.ДатаВыписки,
                   |    Обращения.БольничныйЛист,
                   |    Обращения.Диагноз,
                   |    Обращения.Поступление,
                   |    Обращения.МестоЖительства,
                   |    Обращения.Организация
                   |ИЗ
                   |    Документ.Обращения КАК Обращения
                   |ГДЕ
                   |    Обращения.ПометкаУдаления = ЛОЖЬ
                   |    И Обращения.Дата <= &ДатаОкончания
                   |    И Обращения.Дата >= &ДатаНачала
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    Обращения.Ссылка,
                   |    Обращения.ВерсияДанных,
                   |    Обращения.ПометкаУдаления,
                   |    Обращения.Номер,
                   |    Обращения.Дата,
                   |    Обращения.Проведен,
                   |    Обращения.Пол,
                   |    Обращения.Возраст,
                   |    Обращения.ФИО,
                   |    Обращения.Категория,
                   |    Обращения.Исход,
                   |    Обращения.ДатаПоступления,
                   |    Обращения.ДатаВыписки,
                   |    Обращения.БольничныйЛист,
                   |    Обращения.Диагноз,
                   |    Обращения.Поступление,
                   |    Обращения.МестоЖительства,
                   |    Обращения.Организация";
   Chuvaschow
 
8 - 25.04.18 - 20:32
То есть можно так:

-получить результат полного запроса
-подсчитать количество строк запроса ограничив условием "F00" <= Код <= ("F45" + ".9")
-подсчитать количество строк запроса ограничив условием "M00" <= Код <= ("M20" + ".8") и Результат.Возраст > 19
- и т.д.

Мне представляется это долгим путем...
   Philix
 
9 - 25.04.18 - 20:55
(0) Мэтр, настоятельно рекомендую обогатить справочник еще двумя реквизитами, в которые растащить буквенную часть и цифровую. Тогда отчет строится за милую душу.
   Chuvaschow
 
10 - 25.04.18 - 20:59
Думал об этом.
Но все же, как обрабатывать запрос?
 
 Рекламное место пустует
   mistеr
 
11 - 25.04.18 - 21:04
(9) Я бы добавил один реквизит - справочник групп/диапазонов. Заполнять можно автоматически при записи.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует