|
Отбор по диапазону не числовых кодов | ☑ | ||
---|---|---|---|---|
0
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 - Это один диапазон или три?
|
|||
2
Chuvaschow
25.04.18
✎
19:33
|
Это диапазон из группы F00-F45
Да, это один диапазон |
|||
3
fedoss
25.04.18
✎
19:40
|
Так если это коды МКБ, их можно спокойно сравнивать как строки.
Они же все по формату БЦЦ.Ц |
|||
4
Chuvaschow
25.04.18
✎
19:44
|
(3) Научите, пожалуйста :)
|
|||
5
fedoss
25.04.18
✎
19:46
|
Ну, например для (2): "F00" <= Код <= ("F45" + ".9")
|
|||
6
один я дАртаньян
25.04.18
✎
19:47
|
(2) Т.е. все что "F" - это один диапазон?
Нутак тупо бери первую букву и групируй по нему. |
|||
7
Chuvaschow
25.04.18
✎
20:28
|
Хорошо, попробуем.
Попутный вопрос: как лучше организовать подсчеты? написать множество запросов или исполнить один большой и в нем как-то организовывать группировку по условиям и подсчет количества документов? Запрос простой Запрос.Текст = "ВЫБРАТЬ | Обращения.Ссылка, | Обращения.ВерсияДанных, | Обращения.ПометкаУдаления, | Обращения.Номер, | Обращения.Дата, | Обращения.Проведен, | Обращения.Пол, | Обращения.Возраст, | Обращения.ФИО, | Обращения.Категория, | Обращения.Исход, | Обращения.ДатаПоступления, | Обращения.ДатаВыписки, | Обращения.БольничныйЛист, | Обращения.Диагноз, | Обращения.Поступление, | Обращения.МестоЖительства, | Обращения.Организация |ИЗ | Документ.Обращения КАК Обращения |ГДЕ | Обращения.ПометкаУдаления = ЛОЖЬ | И Обращения.Дата <= &ДатаОкончания | И Обращения.Дата >= &ДатаНачала | |СГРУППИРОВАТЬ ПО | Обращения.Ссылка, | Обращения.ВерсияДанных, | Обращения.ПометкаУдаления, | Обращения.Номер, | Обращения.Дата, | Обращения.Проведен, | Обращения.Пол, | Обращения.Возраст, | Обращения.ФИО, | Обращения.Категория, | Обращения.Исход, | Обращения.ДатаПоступления, | Обращения.ДатаВыписки, | Обращения.БольничныйЛист, | Обращения.Диагноз, | Обращения.Поступление, | Обращения.МестоЖительства, | Обращения.Организация"; |
|||
8
Chuvaschow
25.04.18
✎
20:32
|
То есть можно так:
-получить результат полного запроса -подсчитать количество строк запроса ограничив условием "F00" <= Код <= ("F45" + ".9") -подсчитать количество строк запроса ограничив условием "M00" <= Код <= ("M20" + ".8") и Результат.Возраст > 19 - и т.д. Мне представляется это долгим путем... |
|||
9
Philix
25.04.18
✎
20:55
|
(0) Мэтр, настоятельно рекомендую обогатить справочник еще двумя реквизитами, в которые растащить буквенную часть и цифровую. Тогда отчет строится за милую душу.
|
|||
10
Chuvaschow
25.04.18
✎
20:59
|
Думал об этом.
Но все же, как обрабатывать запрос? |
|||
11
mistеr
25.04.18
✎
21:04
|
(9) Я бы добавил один реквизит - справочник групп/диапазонов. Заполнять можно автоматически при записи.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |