Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TABLE organizacje;
- DROP TABLE płatności;
- DROP TABLE pomieszczenia;
- DROP TABLE przedstawiciele;
- CREATE TABLE "PWR_17_18_L_016234982"."ORGANIZACJE"
- ( "ID_ORGANIZACJI" NUMBER(5,0) NOT NULL ENABLE,
- "NAZWA_ORGANIZACJI" VARCHAR2(512 BYTE),
- "NIP" VARCHAR2(64 BYTE),
- CONSTRAINT "ORGANIZACJE_PK" PRIMARY KEY ("ID_ORGANIZACJI")
- USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ENABLE
- ) SEGMENT CREATION IMMEDIATE
- PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ;
- CREATE TABLE "PWR_17_18_L_016234982"."PŁATNOŚCI"
- ( "ID_PŁATNOŚCI" NUMBER(5,0) NOT NULL ENABLE,
- "ID_UMOWY" NUMBER(5,0),
- "DATA_DO" DATE,
- "OPŁACONA" NUMBER(1,0),
- CONSTRAINT "PŁATNOŚCI_PK" PRIMARY KEY ("ID_PŁATNOŚCI")
- USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ENABLE,
- CONSTRAINT "PŁATNOŚCI_CHK1" CHECK ("OPŁACONA"=0 OR "OPŁACONA"=1) ENABLE,
- CONSTRAINT "PŁATNOŚCI_FK1" FOREIGN KEY ("ID_UMOWY")
- REFERENCES "PWR_17_18_L_016234982"."UMOWY" ("ID_UMOWY") ENABLE
- ) SEGMENT CREATION IMMEDIATE
- PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ;
- CREATE TABLE "PWR_17_18_L_016234982"."POMIESZCZENIA"
- ( "ID_LOKALU" NUMBER(5,0) NOT NULL ENABLE,
- "POWIERZCHNIA" NUMBER(5,2),
- "ID_UMOWY" NUMBER(5,0),
- CONSTRAINT "POMIESZCZENIA_PK" PRIMARY KEY ("ID_LOKALU")
- USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ENABLE,
- CONSTRAINT "POMIESZCZENIA_CHK1" CHECK (powierzchnia > 0) ENABLE,
- CONSTRAINT "POMIESZCZENIA_FK1" FOREIGN KEY ("ID_UMOWY")
- REFERENCES "PWR_17_18_L_016234982"."UMOWY" ("ID_UMOWY") ENABLE
- ) SEGMENT CREATION IMMEDIATE
- PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ;
- CREATE TABLE "PWR_17_18_L_016234982"."PRZEDSTAWICIELE"
- ( "ID_PRZEDSTAWICIELA" NUMBER(5,0) NOT NULL ENABLE,
- "ID_ORGANIZACJI" NUMBER(5,0),
- "IMIE" VARCHAR2(64 BYTE),
- "NAZWISKO" VARCHAR2(64 BYTE),
- "EMAIL" VARCHAR2(64 BYTE),
- CONSTRAINT "PRZEDSTAWICIELE_PK" PRIMARY KEY ("ID_PRZEDSTAWICIELA")
- USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ENABLE,
- CONSTRAINT "PRZEDSTAWICIELE_FK1" FOREIGN KEY ("ID_ORGANIZACJI")
- REFERENCES "PWR_17_18_L_016234982"."ORGANIZACJE" ("ID_ORGANIZACJI") ENABLE
- ) SEGMENT CREATION IMMEDIATE
- PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
- STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
- PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
- TABLESPACE "USERS" ;
- CREATE TABLE UMOWY
- (
- ID_UMOWY NUMBER(5, 0) NOT NULL
- , ID_LOKALU NUMBER(5, 0) NOT NULL
- , ID_PRZEDSTAWICIELA NUMBER(5, 0) NOT NULL
- , DATA_OD DATE
- , DATA_DO DATE
- , KWOTA NUMBER(7, 2)
- , CONSTRAINT UMOWY_PK PRIMARY KEY
- (
- ID_UMOWY
- )
- USING INDEX
- (
- CREATE UNIQUE INDEX UMOWY_PK ON UMOWY (ID_UMOWY ASC)
- LOGGING
- TABLESPACE USERS
- PCTFREE 10
- INITRANS 2
- STORAGE
- (
- INITIAL 65536
- NEXT 1048576
- MINEXTENTS 1
- MAXEXTENTS UNLIMITED
- BUFFER_POOL DEFAULT
- )
- NOPARALLEL
- )
- ENABLE
- )
- LOGGING
- TABLESPACE USERS
- PCTFREE 10
- INITRANS 1
- STORAGE
- (
- INITIAL 65536
- NEXT 1048576
- MINEXTENTS 1
- MAXEXTENTS UNLIMITED
- BUFFER_POOL DEFAULT
- )
- NOPARALLEL;
- ALTER TABLE UMOWY
- ADD CONSTRAINT UMOWY_CHK1 CHECK
- (kwota > 0)
- ENABLE;
- INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('1', '34', '3');
- INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('2', '30', '5');
- INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('3', '24', '2');
- INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('4', '41', '1');
- INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('5', '37', '4');
- INSERT INTO POMIESZCZENIA (ID_LOKALU, POWIERZCHNIA, ID_UMOWY) VALUES ('6', '37', NULL);
- INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('1', 'MCDONALD''S', '521-00-88-110');
- INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('2', 'ROSSMAN', '470-75-50-017');
- INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('3', 'GO SPORT', '951-18-61-015');
- INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('4', 'NEW YORKER', '654-32-56-112');
- INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('5', 'CARREFOUR', '532-00-56-010');
- INSERT INTO ORGANIZACJE (ID_ORGANIZACJI, NAZWA_ORGANIZACJI, NIP) VALUES ('5', 'CARREFOUR', '532-00-56-010');
- INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('1','1','JAN','KOWALSKI','JAN.KOWALSKI@MCDONALD.PL');
- INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('2','3','ADAM','NOWAK','A.NOWAK@G-S.PL');
- INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('3','2','ANNA','GRODZKA','ANNA.GRODZKA@ROSSMAN.PL');
- INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('4','5','ROBERT','CZAJA','R.CZAJA@CARREFOUR.PL');
- INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('5','5','MONIKA','MATUSZAK','M.MATUSZAK@CARREFOUR.PL');
- INSERT INTO PRZEDSTAWICIELE (ID_PRZEDSTAWICIELA, ID_ORGANIZACJI, IMIE, NAZWISKO, EMAIL) VALUES ('6','4','JANUSZ','BĄK','JANUSZ.BĄK@NY.PL');
- INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('1', '1', '4', TO_DATE('16/01/01','RR/MM/DD'), TO_DATE('20/12/31','RR/MM/DD'), '15000');
- INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('2', '2', '3', TO_DATE('16/06/23','RR/MM/DD'), TO_DATE('20/12/31','RR/MM/DD'), '13500');
- INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('3', '3', '1', TO_DATE('16/09/15','RR/MM/DD'), TO_DATE('20/12/31','RR/MM/DD'), '10000');
- INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('4', '4', '6', TO_DATE('17/02/03','RR/MM/DD'), TO_DATE('21/06/30','RR/MM/DD'), '19700');
- INSERT INTO UMOWY (ID_UMOWY, ID_LOKALU, ID_PRZEDSTAWICIELA, DATA_OD, DATA_DO, KWOTA) VALUES ('5', '5', '2', TO_DATE('17/02/04','RR/MM/DD'), TO_DATE('21/06/30','RR/MM/DD'), '16000');
- INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('1', '1', TO_DATE('18/06/30','RR/MM/DD'), '1');
- INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('2', '2', TO_DATE('18/06/30','RR/MM/DD'), '1');
- INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('3', '3', TO_DATE('18/06/30','RR/MM/DD'), '1');
- INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('4', '4', TO_DATE('18/06/30','RR/MM/DD'), '0');
- INSERT INTO PŁATNOŚCI (ID_PŁATNOŚCI, ID_UMOWY, DATA_DO, OPŁACONA) VALUES ('5', '5', TO_DATE('18/06/30','RR/MM/DD'), '1');
- CREATE VIEW UMOWA
- AS SELECT
- l.powierzchnia, p.imie, p.nazwisko, u.data_od, u.data_do,SUM(u.kwota) AS wartosc , o.nazwa_organizacji
- FROM
- umowy u
- left join pomieszczenia l ON (u.id_lokalu=l.id_lokalu)
- left join przedstawiciele p ON (u.id_przedstawiciela=p.id_przedstawiciela)
- left join organizacje o ON (p.id_organizacji=o.id_organizacji)
- GROUP BY l.powierzchnia, p.imie, p.nazwisko, u.data_od, u.data_do,o.nazwa_organizacji,u.id_umowy;
- CREATE VIEW VPŁATNOŚCI
- AS SELECT
- u.id_umowy,p.data_do,u.kwota,p.opłacona
- FROM
- umowy u
- left join płatności p ON p.id_umowy = u.id_umowy;
- CREATE VIEW VFINANSE
- AS SELECT
- o.nazwa_organizacji, SUM(CASE WHEN p.opłacona=1 THEN u.kwota ELSE -u.kwota END) AS saldo,
- (SELECT MAX(p2.data_do) FROM płatności p2
- left join umowy u2 ON u2.id_umowy = p2.id_umowy
- left join przedstawiciele pp2 ON u2.id_przedstawiciela = pp2.id_przedstawiciela
- left join organizacje o2 ON o2.id_organizacji = pp2.id_organizacji
- WHERE p2.opłacona = 1 GROUP BY o2.id_organizacji) AS ostatnia_opacona
- FROM płatności p
- left join umowy u ON u.id_umowy = p.id_umowy
- left join przedstawiciele pp ON u.id_przedstawiciela = pp.id_przedstawiciela
- left join organizacje o ON o.id_organizacji = pp.id_organizacji
- GROUP BY o.nazwa_organizacji;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement