· 7 years ago · Jan 21, 2019, 10:50 AM
1drop database if exists dane_db;
2create database if not exists dane_db;
3use dane_db;
4
5create table pracownicy(
6id integer not null primary key,
7imie varchar(32) not null,
8nazwisko varchar(32) not null
9);
10
11create table zadania(
12idZadania bigint not null primary key,
13czasRozpoczecia datetime not null,
14czasZakonczenie datetime not null,
15ktoZlecilId integer not null,
16ktoRozpoczalId integer,
17ktoWykonalId integer,
18ktoSprawdzilId integer,
19ktoZakonczylId integer
20);
21
22insert into pracownicy values (1, 'Jan', 'Jankowski');
23insert into pracownicy values (2, 'Adam', 'Adamski');
24insert into pracownicy values (3, 'Marcin', 'Marcinski');
25insert into pracownicy values (4, 'Dorota', 'Dorotowska');
26insert into pracownicy values (5, 'Karolina', 'Karolewska');
27
28
29insert into zadania values (1, '2019-01-01 08:00:00', '2019-01-01 10:00:00', 1, 1, 1, 1, 1);
30insert into zadania values (2, '2019-01-02 08:00:00', '2019-01-02 10:00:00', 1, 2, 3, 4, 5);
31insert into zadania values (3, '2019-01-03 08:00:00', '2019-01-03 10:00:00', 1, 2, 4, 4, 1);
32
33select z.* from zadania as z order by z.idZadania asc;
34
35select z.*, concat(zl.nazwisko, ' ', zl.imie) as zlecil, concat(zl.nazwisko, ' ', zl.imie) as rozpoczal, concat(w.nazwisko, ' ', w.imie) as wykonal, concat(s.nazwisko, ' ', s.imie) as sprawdzil, concat(za.nazwisko, ' ', za.imie) as zakonczyl from zadania as z
36inner join pracownicy as zl on zl.id = z.ktoZlecilId
37left outer join pracownicy as r on r.id = z.ktoRozpoczalId
38left outer join pracownicy as w on w.id = z.ktoWykonalId
39left outer join pracownicy as s on s.id = z.ktoSprawdzilId
40left outer join pracownicy as za on za.id = z.ktoZakonczylId
41order by z.idZadania asc;
42
43create view statusProdukcji as select z.*, concat(zl.nazwisko, ' ', zl.imie) as zlecil, concat(zl.nazwisko, ' ', zl.imie) as rozpoczal, concat(w.nazwisko, ' ', w.imie) as wykonal, concat(s.nazwisko, ' ', s.imie) as sprawdzil, concat(za.nazwisko, ' ', za.imie) as zakonczyl from zadania as z
44inner join pracownicy as zl on zl.id = z.ktoZlecilId
45left outer join pracownicy as r on r.id = z.ktoRozpoczalId
46left outer join pracownicy as w on w.id = z.ktoWykonalId
47left outer join pracownicy as s on s.id = z.ktoSprawdzilId
48left outer join pracownicy as za on za.id = z.ktoZakonczylId
49order by z.idZadania asc;
50
51select * from statusProdukcji;