
-- Zestaw B

drop table transakcja;
drop table klient;


CREATE TABLE Klient (
  id INTEGER PRIMARY KEY,
  imie VARCHAR(30) NOT NULL,
  nazwisko VARCHAR(40) NOT NULL
);

CREATE TABLE Transakcja (
  kupujacy INTEGER NOT NULL REFERENCES Klient,
  sprzedajacy INTEGER NOT NULL REFERENCES Klient,
  kwota INTEGER NOT NULL,
  przedmiot VARCHAR(30),
  data DATE NOT NULL,
  PRIMARY KEY (kupujacy, sprzedajacy, data)
);

insert into klient (id,imie,nazwisko) values (1,'JAN','KOWALSKI');
insert into klient (id,imie,nazwisko) values (2,'ZOFIA','BRODA');
insert into klient (id,imie,nazwisko) values (3,'TEOFIL','DOBRY');
insert into klient (id,imie,nazwisko) values (4,'MALGORZATA','WTOREK');
insert into klient (id,imie,nazwisko) values (5,'ZBIGNIEW','PIATKOWSKI');
insert into klient (id,imie,nazwisko) values (6,'STEFAN','NIEDZIELAN');
insert into klient (id,imie,nazwisko) values (7,'ANDRZEJ','MALY');
insert into klient (id,imie,nazwisko) values (8,'ALEKSANDER','WOZNY');
insert into klient (id,imie,nazwisko) values (9,'MICHALINA','TRZASKA');
insert into klient (id,imie,nazwisko) values (10,'JOZEF','KRZYWICKI');

insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(1,2,500,'TORBA',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(2,4,10900,'SKODA',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(1,5,1500,'MOTOROWER',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(2,7,200,'ŁYŻWY',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(4,7,300,'PLECAK',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(9,2,50,'GRZYBY',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(9,4,350,'KOSZULE',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(8,5,2550,'PIERŚCIONEK',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(5,7,3000,'LAPTOP',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(9,3,100,'POŚCIEL',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(6,5,50,'SŁUCHAWKI',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(5,6,150,'SPODNIE',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(3,2,500,'WALIZKA',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(5,2,2000,'TELEFON',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(8,2,540,'APARAT FOTOGRAFICZNY',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(10,2,10,'ORZECHY',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));
insert into transakcja (kupujacy,sprzedajacy,kwota,przedmiot,data) values
	(2,6,55,'CIASTO',TO_DATE('01-SEP-2012', 'DD-MON-YYYY'));

-- 1. Wypisz klientów, którzy mieszczą się w 10% najaktywniejszych sprzedawców (wg. łącznej kwoty sprzedawców); lepiej 20%.
-- 2. Dla każdego klienta podaj średnią kwotę zakupów; jeśli jeszcze nic nie kupił, to podaj 0.
-- 3. Posortuj klientow według łącznej kwoty sprzedaży (imię, nazwisko, kwota).
-- 4. Wypisz klientów, którzy kupili od więcej niż 5 osób.
-- 5. Wypisz transakcje między osobami, ktore wykonały mniej niż 3 transakcje.
-- 6. Wypisz klientów, którzy byli uczestnikiem transakcji z każdym innym klientem
-- 7. Wypisz klientów, którzy byli uczestnikami choć jednej transakcji
-- 8. Wypisz kupców, którzy wydali łączną kwotę > 10000 w < 5 transakcjach.
