Курсовая работа: Разработка физической модели базы данных Учёт затрат на медицинские услуги
ON Talon.IDType=Type.IDType
INNER JOIN LPU
ON Talon.IDLPU=LPU.IDLPU
INNER JOIN (SELECT LPU.IDLPU,SUM(TarifOtdel*(Norma*1.15))[Summa]
FROM Karta
INNER JOIN LPU
ON Karta.IDLPU=LPU.IDLPU
INNER JOIN OtdelLPU
ON OtdelLPU.IDLPU=LPU.IDLPU
INNER JOIN Otdel
ON Otdel.IDOtdel=OtdelLPU.IDOtdel
INNER JOIN DiagnKarta
ON Karta.IDKarta=DiagnKarta.IDKarta
INNER JOIN Diagnos
ON Diagnos.IDDiagnos=DiagnKarta.IDDiagnos
WHERE Karta.DateEnd BETWEEN @Begin AND @End AND DiagnKarta.Type='основной'
GROUP BY LPU.IDLPU) Stacionar
ON LPU.IDLPU=Stacionar.IDLPU
WHERE Talon.Date BETWEEN @Begin AND @End
GROUP BY LPU.NameLPU,LPU.MestoLPU,Stacionar.Summa
В ходе написания курсового проекта по дисциплине «Управление данными» были написаны запросы к базе данных. Часть из них нашла свое отражение при создании базы данных в виде хранимых процедур. Все запросы перечислять не имеет смысла, поэтому поясним одну из них. Приведённая ниже процедура возвращает фамилии, имена и отчества всех пациентов конкретного ЛПУ за период. Таким образом, входными параметрами являются наименование ЛПУ и даты начала и конца периода. В процедуре происходит объединение 3 выборок - выборки по дате начала из карты выбывшего больного, по дате конца из карты и по дате статистического талона. Понятно, что кроме этого в предложение WHERE включено условие отсева пациентов только по конкретному ЛПУ.
CREATE PROC PacientLPU
@NameLPU varchar(50),
@Begin DateTime,
@End DateTime
AS
SELECT Fam,Im,Otch
FROM Pacient
INNER JOIN Karta