SQL-запросы для АС ПОЛИКЛИНИКА

MySQL, MSSQL, PostgreSQL и пр.

Модератор: DNK

SQL-запросы для АС ПОЛИКЛИНИКА

Сообщение max » 18 дек 2014, 08:43

Мед.персоналу понадобилось узнать количество диспансерного населения по возрастам на 2015 год прикрепленного за ЛПУ, для составления плана на след. год в таком виде:
возраст пациента, год рождения, кол-во мужчин, кол-во женщин, всего.
Для решения этой задачи, будем использовать файл с принятым прикрепленным населением, который мы получаем от МИАЦ vPRIK.dbf.
Скрипт написан для выполнения выборки на SQL Server 2012
Код: выделить все
select
(2015)-Year(R.datr) as Лет,
YEAR(R.datr) as Год,
COUNT(RM.Пол) AS M,
COUNT(RZ.Пол) AS Ж,
COUNT(YEAR(R.datr)) as Итого
from REGISTR R
   left join
(select
   R1.NMEDK,
   YEAR(R1.datr) as Год,
   R1.POL AS Пол
from REGISTR R1
   WHERE R1.POL='м') RM
ON R.NMEDK = RM.NMEDK
   left join
(select
   R2.NMEDK,
   YEAR(R2.datr) as Год,
   R2.POL AS Пол
from REGISTR R2
   WHERE R2.POL='ж') RZ
ON R.NMEDK = RZ.NMEDK
   inner join
(select
   A.FAM,
   A.IM,
   A.OT,
   A.DATR
from
   opendatasource /*Здесь в зависимости от версии SQL, указываем свою версию поставщика Microsoft.ACE.OLEDB*/
('Microsoft.ACE.OLEDB.12.0',
'Data Source=F:\disp\;
Extended Properties=DBASE IV')...[vPRIK.dbf] A /*путь к файлу и имя файла*/
   where a.miacres = '001' 
   and year(a.DATR) between 1916 and 1994 /*условие для выборки диспансерного населения*/
   and (2015 - YEAR(a.DATR)) % 3 = 0) db
   on r.FAM=db.FAM
   AND r.IM = db.IM
   AND R.OTCH = db.OT
   AND R.DATR = db.DATR
GROUP BY YEAR(R.datr)
order by Год


Результат выполнения скрипта на изображении
Вложения
Михайличенко Максим
МБУЗ "Городская многопрофильная больница" г. Армавир
МБУЗ "Детская городская больница" г. Армавир
сот.: 8 (918) 23-93-473
Аватар пользователя
max
 
Сообщений: 70
Зарегистрирован: 14 авг 2014, 10:58
Регион: Краснодарский край
Муниципальное образование: Армавир
Наименование организации: МБУЗ "Городская многопрофильная больница" г.Армавир
Рабочий телефон: 89182393473

Вернуться в СУБД



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4