-
Notifications
You must be signed in to change notification settings - Fork 0
/
zapytanie5.sql
28 lines (25 loc) · 1.65 KB
/
zapytanie5.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--Zapytanie 5
--Pewna osoba jest przewlekle chora i co miesiąc potrzebuje recepty na te same leki. W tej sytuacji pielęgniarka potrzebuje znaleźć leki, które były już wczesniej przepisywane
--pacjentowi, aby móc przygotować receptę gotową tylko do podpisu przez lekarza. Należy podać listę wszystkich dotychczas przepisanych leków. Powinna być widoczna nazwa leku
--oraz jego opis, gdyż pielęgniarka może będzie chciała dopytać na podstawie opisu, czy to na pewno o ten lek chodzi.Nazwy leków nie powinny się powtarzać.
--Jako że do zapytania 'podaj wszystkieg wycofane leki wypisane na receptach' nie jest jasna sytuacja, w której takowe zapytanie byłoby wykorzystane,
--zastąpiono je powyższym.
SELECT Leki.Nazwa, MAX(Leki.Opis) AS Opis
FROM Leki
INNER JOIN Leki_na_recepcie ON Leki_na_recepcie.Lek_ID=Leki.Lek_ID
INNER JOIN Recepta ON Leki_na_recepcie.Recepta_ID=Recepta.Recepta_ID
INNER JOIN Wizyta ON Recepta.Wizyta_ID=Wizyta.Wizyta_ID
INNER JOIN Lekarze ON Wizyta.Lekarz_ID=Lekarze.Lekarz_ID
INNER JOIN Pacjenci ON Wizyta.PESEL=Pacjenci.PESEL
WHERE Pacjenci.PESEL='81070527219'
GROUP BY Leki.Nazwa;
--SELECT sprawdzający czy zapytanie jest poprawne
SELECT Leki.Nazwa, Leki.Opis, Recepta.Data_wystawienia, Osoba.Imie AS Imie_Lekarza, Osoba.Nazwisko AS Nazwisko_lekarza
FROM Leki
INNER JOIN Leki_na_recepcie ON Leki_na_recepcie.Lek_ID=Leki.Lek_ID
INNER JOIN Recepta ON Leki_na_recepcie.Recepta_ID=Recepta.Recepta_ID
INNER JOIN Wizyta ON Recepta.Wizyta_ID=Wizyta.Wizyta_ID
INNER JOIN Lekarze ON Wizyta.Lekarz_ID=Lekarze.Lekarz_ID
INNER JOIN Pacjenci ON Wizyta.PESEL=Pacjenci.PESEL
INNER JOIN Osoba ON Osoba.Osoba_ID=Lekarze.Osoba_ID
WHERE Pacjenci.PESEL='81070527219';