-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathviews.sql
206 lines (143 loc) · 7.65 KB
/
views.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
start transaction;
drop view if exists OSOBA_UPOWAZNIONA_Z_PACJENTEM;
drop view if exists BADANIA_PACJENCI;
drop view if exists OPIEKA_NAD_PACJENTAMI;
drop view if exists ILOSC_WIZYT_LEKARZY;
drop view if exists PIELEGNIARKI_ODDZIALY;
drop view if exists LEKARZE_ODDZIALY;
drop view if exists OSTATNIO_ZATRUDNIENI_LEKARZE;
drop view if exists OSTATNIO_ZATRUDNIONE_PIELEGNIARKI;
drop view if exists OSTATNIO_PRZYJĘCI;
drop view if exists ROCZNE_ZAROBKI;
drop view if exists LISTA_ADRESY_PRACOWNIKOW;
drop view if exists LISTA_ADRESY_PACJENTOW;
drop view if exists WSZYSTKO_PACJENCI;
drop view if exists LEKARZE_WIDOK;
drop view if exists PIELEGNIARKI_WIDOK;
/*-----------------------------------------------------------*/
create view OSOBA_UPOWAZNIONA_Z_PACJENTEM as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ PROWADZĄCY', ODD.NAZWA as 'ODDZIAŁ',
concat(P.IMIE,' ',P.NAZWISKO) as 'PACJENT', concat(U.IMIE,' ',U.NAZWISKO) as 'OSOBA UPOWAŻNIONA',
U.RELACJA as 'POKREWIEŃSTWO', U.TELEFON as 'TELEFON KONTAKTOWY'
from OSOBA_UPOWAZNIONA U, PACJENCI P, PRACOWNICY PR, LEKARZE L, ODDZIALY ODD
where U.UPOWAZNIONA_ID = P.UPOWAZNIONA_ID and P.LEKARZ_ID = PR.PRACOWNIK_ID and
PR.PRACOWNIK_ID = L.LEKARZ_ID and L.ODDZIAL_ID = ODD.ODDZIAL_ID
order by P.DATA_PRZYJECIA desc;
/*-----------------------------------------------------------*/
create view BADANIA_PACJENCI as
select
concat(P.IMIE,' ',P.NAZWISKO) as 'PACJENT', B.DATA_BADANIA as 'DATA BADANIA',
I.CHOROBA as 'ICD10', ifnull(B.ROZPOZNANIE,'-') as 'ROZPOZNANIE',
ifnull(Z.LEK,'-') as 'LEKI', ifnull(Z.DAWKOWANIE,'-') as 'DAWKOWANIE'
from PACJENCI P, BADANIA B, ZALECENIA Z, ICD10 I
where P.PACJENT_ID = B.PACJENT_ID and B.BADANIE_ID = Z.BADANIE_ID and I.ICD10_ID = B.ICD10_ID
order by DATA_BADANIA desc;
/*-----------------------------------------------------------*/
create view OPIEKA_NAD_PACJENTAMI as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'PIELĘGNIARKA', concat(P.IMIE,' ',P.NAZWISKO) as 'PACJENT',
O.DZIEN as 'DZIEŃ', S.WYDARZENIE as 'STOLEC', O.TEMPERATURA, L.WYDARZENIE as 'LEKI', ifnull(O.OPIS,'-') as 'OPIS'
from PIELEGNIARKI PI, PACJENCI P, OPIEKA O, PRACOWNICY PR, LEKI L, LOGICZNE S
where PI.PIELEGNIARKA_ID = PR.PRACOWNIK_ID and PI.PIELEGNIARKA_ID = O.PIELEGNIARKA_ID and P.PACJENT_ID = O.PACJENT_ID
and L.LEKI_ID = O.LEKI and S.LOGICZNE_ID = O.STOLEC;
/*-----------------------------------------------------------*/
create view ILOSC_WIZYT_LEKARZY as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ', count(B.BADANIE_ID) as 'ILOŚĆ WIZYT'
from PRACOWNICY PR, LEKARZE L, BADANIA B
where PR.PRACOWNIK_ID = L.LEKARZ_ID and L.LEKARZ_ID = B.LEKARZ_ID
group by B.LEKARZ_ID;
/*-----------------------------------------------------------*/
create view PIELEGNIARKI_ODDZIALY as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'PIELĘGNIARKA', ODD.NAZWA as 'NAZWA ODDZIAŁU', ODD.LOKALIZACJA
from PRACOWNICY PR, ODDZIALY ODD, PIELEGNIARKI P
where PR.PRACOWNIK_ID = P.PIELEGNIARKA_ID and P.ODDZIAL_ID = ODD.ODDZIAL_ID
order by ODD.ODDZIAL_ID;
/*-----------------------------------------------------------*/
create view LEKARZE_ODDZIALY as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ', ODD.NAZWA as 'NAZWA ODDZIAŁU', ODD.LOKALIZACJA
from PRACOWNICY PR, ODDZIALY ODD, LEKARZE L
where PR.PRACOWNIK_ID = L.LEKARZ_ID and L.ODDZIAL_ID = ODD.ODDZIAL_ID
order by ODD.ODDZIAL_ID;
/*-----------------------------------------------------------*/
create view OSTATNIO_ZATRUDNIENI_LEKARZE as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ', ODD.NAZWA as 'NAZWA ODDZIAŁU',
L.DATA_ZATRUDNIENIA as 'DATA ZATRUDNIENIA'
from PRACOWNICY PR, LEKARZE L, ODDZIALY ODD
where PR.PRACOWNIK_ID = L.LEKARZ_ID and ODD.ODDZIAL_ID = L.ODDZIAL_ID
order by L.DATA_ZATRUDNIENIA desc;
/*-----------------------------------------------------------*/
create view OSTATNIO_ZATRUDNIONE_PIELEGNIARKI as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'PIELĘGNIARKA', ODD.NAZWA as 'NAZWA ODDZIAŁU',
P.DATA_ZATRUDNIENIA as 'DATA ZATRUDNIENIA'
from PRACOWNICY PR, PIELEGNIARKI P, ODDZIALY ODD
where PR.PRACOWNIK_ID = P.PIELEGNIARKA_ID and ODD.ODDZIAL_ID = P.ODDZIAL_ID;
/*-----------------------------------------------------------*/
create view OSTATNIO_PRZYJĘCI as
select
concat(P.IMIE,' ',P.NAZWISKO) as 'PACJENT', concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ',
ODD.NAZWA as 'NAZWA ODDZIAŁU', P.DATA_PRZYJECIA as 'DATA PRZYJĘCIA'
from PACJENCI P, PRACOWNICY PR, LEKARZE L, ODDZIALY ODD
where PR.PRACOWNIK_ID = L.LEKARZ_ID and ODD.ODDZIAL_ID = L.ODDZIAL_ID and L.LEKARZ_ID = P.LEKARZ_ID
order by P.DATA_PRZYJECIA desc;
/*-----------------------------------------------------------*/
create view ROCZNE_ZAROBKI as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'PRACOWNIK', (W.PENSJA*12 + IFNULL(W.PREMIA,0)) as 'ZAROBKI ROCZNE'
from PRACOWNICY PR, WIDELKI W
where PR.PRACOWNIK_ID = W.PRACOWNIK_ID
order by 'ZAROBKI ROCZNE' desc;
/*-----------------------------------------------------------*/
create view LISTA_ADRESY_PRACOWNIKOW as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'PRACOWNIK', A.ULICA, A.KOD_POCZTOWY as 'KOD POCZTOWY', A.MIASTO,
A.PANSTWO as 'PAŃSTWO'
from PRACOWNICY PR, ADRESY_PRACOWNIKOW A
where PR.PRACOWNIK_ID = A.PRACOWNIK_ID
order by PR.NAZWISKO;
/*-----------------------------------------------------------*/
create view LISTA_ADRESY_PACJENTOW as
select
concat(P.IMIE,' ',P.NAZWISKO) as 'PACJENT', AP.ULICA, AP.KOD_POCZTOWY as 'KOD POCZTOWY', AP.MIASTO,
AP.PANSTWO as 'PAŃSTWO'
from PACJENCI P, ADRESY_PACJENTOW AP
where P.PACJENT_ID = AP.PACJENT_ID
order by P.NAZWISKO;
/*-----------------------------------------------------------*/
create view WSZYSTKO_PACJENCI as
select
concat(P.IMIE,' ',P.NAZWISKO) as 'PACJENT', ifnull(P.PESEL,'-') as PESEL, P.DATA_URODZENIA, AP.ULICA,
AP.KOD_POCZTOWY as 'KOD POCZTOWY', AP.MIASTO, AP.PANSTWO as 'PAŃSTWO', UB.WYDARZENIE as UBEZPIECZENIE,
concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ', ODD.NAZWA as 'NAZWA ODDZIAŁU', P.DATA_PRZYJECIA as 'DATA PRZYJĘCIA',
LG.WYDARZENIE as 'ZGODA PRZYJĘCIA', P.PODMIOT_KIERUJACY, P.WAGA, P.WZROST, LOG. WYDARZENIE as ALERGIE,
ifnull(P.OPIS_ALERGII,'-') as 'OPIS ALERGII', concat(U.IMIE,' ',U.NAZWISKO) as 'OSOBA UPOWAŻNIONA',
ifnull(P.TELEFON,'-') as TELEFON, ifnull(P.EMAIL,'-') as EMAIL, ifnull(P.CZY_PACJENT,'Tak') as 'Czy pacjent?'
from PACJENCI P, LOGICZNE LOG, PRACOWNICY PR, ADRESY_PACJENTOW AP, ODDZIALY ODD, OSOBA_UPOWAZNIONA U, LEKARZE L,
LOGICZNE LG, LOGICZNE UB
where LOG.LOGICZNE_ID = P.ALERGIE and P.PACJENT_ID = AP.PACJENT_ID and PR.PRACOWNIK_ID = L.LEKARZ_ID
and ODD.ODDZIAL_ID = L.ODDZIAL_ID and P.LEKARZ_ID = L.LEKARZ_ID and U.UPOWAZNIONA_ID = P.UPOWAZNIONA_ID
and LG.LOGICZNE_ID = P.ZGODA_PRZYJECIA and UB.LOGICZNE_ID = P.UBEZPIECZENIE
order by P.NAZWISKO;
/*-----------------------------------------------------------*/
create view LEKARZE_WIDOK as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'LEKARZ', 'Lekarz' as OKUPACJA, PR.PESEL, PR.TELEFON, PR.EMAIL, ODD.NAZWA,
L.DATA_URODZENIA, A.ULICA, A.KOD_POCZTOWY, A.MIASTO, A.PANSTWO, L.SPECJALIZACJA, L.STOPIEN, L.NUMER_ZAWODU,
L.DATA_ZATRUDNIENIA
from PRACOWNICY PR, LEKARZE L, ODDZIALY ODD, ADRESY_PRACOWNIKOW A
where PR.PRACOWNIK_ID = L.LEKARZ_ID and PR.PRACOWNIK_ID = A.PRACOWNIK_ID and L.ODDZIAL_ID = ODD.ODDZIAL_ID
order by PR.NAZWISKO;
/*-----------------------------------------------------------*/
create view PIELEGNIARKI_WIDOK as
select
concat(PR.IMIE,' ',PR.NAZWISKO) as 'PIELĘGNIARKA', 'Pielęgniarka' as OKUPACJA, PR.PESEL, PR.TELEFON, PR.EMAIL, ODD.NAZWA,
P.DATA_URODZENIA, A.ULICA, A.KOD_POCZTOWY, A.MIASTO, A.PANSTWO, P.DATA_ZATRUDNIENIA
from PRACOWNICY PR, PIELEGNIARKI P, ODDZIALY ODD, ADRESY_PRACOWNIKOW A
where PR.PRACOWNIK_ID = P.PIELEGNIARKA_ID and PR.PRACOWNIK_ID = A.PRACOWNIK_ID and P.ODDZIAL_ID = ODD.ODDZIAL_ID
order by PR.NAZWISKO;
commit;