Рис.19 Доля видов лечения меньше по стоимости 2500 |
9) По заданной дате (выбор) определить всех больных, которые в данный день (выбор) принимают лечение, аналогично – по заданному (выбор) времени посещения.
Для даты:
SET DATE BRITISH
SELECT timetable.дата, patient.фамилия, patient.имя, patient.отчество, patient.карточка FROM patient;
INNER JOIN timetable ON timetable.id_patient = patient.id_patient;
WHERE timetable.дата = thisform.Text3.value
Для времени:
SELECT timetable.время, patient.фамилия, patient.имя, patient.отчество, patient.карточка FROM patient;
INNER JOIN timetable ON timetable.id_patient = patient.id_patient;
WHERE timetable.время = thisform.Text4.value
Рис.20 Больные посещавшие больницу 11.09.07 |
10) Найти долю работ с наименьшей продолжительностью лечения (меньше заданного N) от общего числа работ.
DIMENSION tmp3[1]
tmp3[1]=0
SELECT count(dwork.продолжит)*100/reccount() as Prc FROM dwork;
WHERE (dwork.продолжит < thisform.Text5.value);
INTO ARRAY tmp3
x = STR (tmp3)
MESSAGEBOX(x,0+64+0,"Доля работ с меньшей продолжительностью лечения от общего числа ")
Рис.21 Доля работ с продолжительностью меньше, чем 30 |
11) Для каждого вида лечения выдать список, отсортированный
§ в алфавитном порядке всех врачей;
§ по стоимости;
§ по продолжительности лечения.
do case
case thisform.Combo3.value == 'по фамилиям врачей'
SELECT dwork.вид_работы, dwork.продолжит, dwork.стоимость, doctor.фамилия, doctor.имя, doctor.отчество FROM dwork;
INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;
ORDER BY doctor.фамилия
case thisform.Combo3.value == 'по стоимости'
SELECT dwork.вид_работы, dwork.продолжит, dwork.стоимость, doctor.фамилия, doctor.имя, doctor.отчество FROM dwork;
INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;
ORDER BY dwork.стоимость
case thisform.Combo3.value == 'по продолжительности лечения'
SELECT dwork.вид_работы, dwork.продолжит, dwork.стоимость, doctor.фамилия, doctor.имя, doctor.отчество FROM dwork;
INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;
ORDER BY dwork.продолжит
endcase
Рис.22 Список видов работ, отсортированный по стоимости |
12) Найти все заболевания (виды работ) со стоимостью свыше 500 р. (и любая другая сумма, т.е. ввод с клавиатуры).
SELECT dwork.вид_работы, dwork.продолжит, dwork.стоимость FROM dwork;
WHERE thisform.Text6.value < dwork.стоимость
Рис.23 Все заболевания со стоимостью свыше 2500 р. |
13) Для каждого врача и в целом определить среднюю стоимость лечения, самый дорогой вид лечения, самый дешевый.
Для врача:
do case
case thisform.Combo4.value == 'наименьшая'
SELECT dwork.вид_работы, dwork.продолжит, min(dwork.стоимость) FROM dwork;
INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;
WHERE doctor.фамилия = thisform.Combo1.value
case thisform.Combo4.value == 'наибольшая'
SELECT dwork.вид_работы, dwork.продолжит, max(dwork.стоимость) FROM dwork;
INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;
WHERE doctor.фамилия = thisform.Combo1.value
case thisform.Combo4.value == 'средняя'
SELECT avg(dwork.стоимость) FROM dwork;
INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;
WHERE doctor.фамилия = thisform.Combo1.value
endcase
В целом:
do case
case thisform.Combo5.value == 'наименьшая'
SELECT dwork.вид_работы, dwork.продолжит, min(dwork.стоимость) FROM dwork
case thisform.Combo5.value == 'наибольшая'
SELECT dwork.вид_работы, dwork.продолжит, max(dwork.стоимость) FROM dwork
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.