From c02a69958ac71cff60ec97b4013258d91f7b5488 Mon Sep 17 00:00:00 2001 From: wohlgemu <michael.wohlgemuth@slub-dresden.de> Date: Thu, 28 Sep 2023 10:55:51 +0200 Subject: [PATCH] Create Table --- script/Create_Table.sql | 222 +++++++++++++ script/Script_Database.sql | 620 ------------------------------------- 2 files changed, 222 insertions(+), 620 deletions(-) create mode 100644 script/Create_Table.sql delete mode 100644 script/Script_Database.sql diff --git a/script/Create_Table.sql b/script/Create_Table.sql new file mode 100644 index 0000000..5048e90 --- /dev/null +++ b/script/Create_Table.sql @@ -0,0 +1,222 @@ +-- Table: public.finance_request + +-- DROP TABLE IF EXISTS public.finance_request; + +CREATE TABLE IF NOT EXISTS public.finance_request +( + oa_id character varying(17) COLLATE pg_catalog."default" NOT NULL, + ts_form timestamp without time zone NOT NULL DEFAULT now(), + ticket_number character varying(17) COLLATE pg_catalog."default", + decision character varying(1) COLLATE pg_catalog."default" NOT NULL, + reason_denied character varying(100) COLLATE pg_catalog."default", + date_approved date, + comment_postpayment_check character varying(250) COLLATE pg_catalog."default", + report character varying(40) COLLATE pg_catalog."default", + processing_status character varying(50) COLLATE pg_catalog."default", + processing_comment text COLLATE pg_catalog."default", + first_name character varying(40) COLLATE pg_catalog."default" NOT NULL, + family_name character varying(40) COLLATE pg_catalog."default" NOT NULL, + orcid character varying(19) COLLATE pg_catalog."default", + dfg_number character varying(200) COLLATE pg_catalog."default", + school character varying(50) COLLATE pg_catalog."default" NOT NULL, + faculty character varying(50) COLLATE pg_catalog."default", + department character varying(70) COLLATE pg_catalog."default", + institute character varying(150) COLLATE pg_catalog."default", + center character varying(150) COLLATE pg_catalog."default", + chair character varying(150) COLLATE pg_catalog."default", + workgroup character varying(150) COLLATE pg_catalog."default", + publisher character varying(150) COLLATE pg_catalog."default" NOT NULL, + journal character varying(150) COLLATE pg_catalog."default" NOT NULL, + eissn character varying(9) COLLATE pg_catalog."default" DEFAULT 'XXXX-XXXX'::character varying, + title character varying(400) COLLATE pg_catalog."default" NOT NULL, + article_type character varying(40) COLLATE pg_catalog."default", + manuskript_id character varying(100) COLLATE pg_catalog."default", + doi character varying(100) COLLATE pg_catalog."default", + date_submitting date, + date_acceptance date, + date_publishing date, + license character varying(16) COLLATE pg_catalog."default", + media_type character varying(12) COLLATE pg_catalog."default" NOT NULL, + issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + institution character varying(70) COLLATE pg_catalog."default" DEFAULT 'TU Dresden'::character varying, + research_article character varying(1) COLLATE pg_catalog."default" NOT NULL DEFAULT 'o'::character varying, + postpayment_check character varying(1) COLLATE pg_catalog."default" NOT NULL DEFAULT 'o'::character varying, + CONSTRAINT finance_request_pkey PRIMARY KEY (oa_id), + CONSTRAINT value_check_research_article1 CHECK (research_article::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])), + CONSTRAINT value_check_postpayment_check1 CHECK (postpayment_check::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])), + CONSTRAINT value_check_decision CHECK (decision::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])), + CONSTRAINT blank_check_institution CHECK (btrim(institution::text) = institution::text), + CONSTRAINT blank_check_oa_id CHECK (ltrim(oa_id::text) = oa_id::text AND rtrim(oa_id::text) = oa_id::text), + CONSTRAINT blank_check_ticket_number CHECK (ltrim(ticket_number::text) = ticket_number::text AND rtrim(ticket_number::text) = ticket_number::text), + CONSTRAINT blank_check_first_name CHECK (ltrim(first_name::text) = first_name::text AND rtrim(first_name::text) = first_name::text), + CONSTRAINT blank_check_family_name CHECK (ltrim(family_name::text) = family_name::text AND rtrim(family_name::text) = family_name::text), + CONSTRAINT blank_check_orcid CHECK (ltrim(orcid::text) = orcid::text AND rtrim(orcid::text) = orcid::text), + CONSTRAINT blank_check_school CHECK (ltrim(school::text) = school::text AND rtrim(school::text) = school::text), + CONSTRAINT blank_check_faculty CHECK (ltrim(faculty::text) = faculty::text AND rtrim(faculty::text) = faculty::text), + CONSTRAINT blank_check_department CHECK (ltrim(department::text) = department::text AND rtrim(department::text) = department::text), + CONSTRAINT blank_check_institute CHECK (ltrim(institute::text) = institute::text AND rtrim(institute::text) = institute::text), + CONSTRAINT blank_check_center CHECK (ltrim(center::text) = center::text AND rtrim(center::text) = center::text), + CONSTRAINT blank_check_chair CHECK (ltrim(chair::text) = chair::text AND rtrim(chair::text) = chair::text), + CONSTRAINT blank_check_workgroup CHECK (ltrim(workgroup::text) = workgroup::text AND rtrim(workgroup::text) = workgroup::text), + CONSTRAINT blank_check_publisher CHECK (ltrim(publisher::text) = publisher::text AND rtrim(publisher::text) = publisher::text), + CONSTRAINT blank_check_journal CHECK (ltrim(journal::text) = journal::text AND rtrim(journal::text) = journal::text), + CONSTRAINT blank_check_title CHECK (ltrim(title::text) = title::text AND rtrim(title::text) = title::text), + CONSTRAINT blank_check_article_type CHECK (ltrim(article_type::text) = article_type::text AND rtrim(article_type::text) = article_type::text), + CONSTRAINT blank_check_manuskript_id CHECK (ltrim(manuskript_id::text) = manuskript_id::text AND rtrim(manuskript_id::text) = manuskript_id::text), + CONSTRAINT blank_check_doi CHECK (ltrim(doi::text) = doi::text AND rtrim(doi::text) = doi::text), + CONSTRAINT blank_check_license CHECK (ltrim(license::text) = license::text AND rtrim(license::text) = license::text), + CONSTRAINT blank_check_media_type CHECK (ltrim(media_type::text) = media_type::text AND rtrim(media_type::text) = media_type::text) +) +WITH ( + OIDS = FALSE +) +TABLESPACE pg_default; + + +-- Index: idx_finance_request_doi + +-- DROP INDEX IF EXISTS public.idx_finance_request_doi; + +CREATE INDEX IF NOT EXISTS idx_finance_request_doi + ON public.finance_request USING btree + (doi COLLATE pg_catalog."default" ASC NULLS LAST) + TABLESPACE pg_default; + +-- Trigger: update_issuer_request + +-- DROP TRIGGER IF EXISTS update_issuer_request ON public.finance_request; + +CREATE TRIGGER update_issuer_request + BEFORE UPDATE + ON public.finance_request + FOR EACH ROW + EXECUTE FUNCTION public.update_issuer(); + + + -------------------------------------------------------------------------------------------------------------- + -------------------------------------------------------------------------------------------------------------- + + CREATE TABLE IF NOT EXISTS public.finance_cost +( + ts_form timestamp without time zone NOT NULL DEFAULT now(), + pk_cost integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ), + oa_id character varying(17) COLLATE pg_catalog."default", + invoice_number character varying(100) COLLATE pg_catalog."default", + budget_id character varying(20) COLLATE pg_catalog."default" DEFAULT 'TUD_EL_2023'::character varying, + cost_type character varying(100) COLLATE pg_catalog."default", + contract_type character varying(50) COLLATE pg_catalog."default", + amount_net numeric(8,2), + currency character varying(3) COLLATE pg_catalog."default", + amount_euro_net numeric(8,2), + vat_percent numeric(3,2) DEFAULT 1.19, + amount_payment_brut numeric(8,2), + comment_cost character varying(250) COLLATE pg_catalog."default", + issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + CONSTRAINT finance_cost_pkey PRIMARY KEY (pk_cost), + CONSTRAINT blank_check_oa_id CHECK (ltrim(oa_id::text) = oa_id::text AND rtrim(oa_id::text) = oa_id::text), + CONSTRAINT blank_check_invoice_number CHECK (ltrim(invoice_number::text) = invoice_number::text AND rtrim(invoice_number::text) = invoice_number::text), + CONSTRAINT blank_check_budget_id CHECK (ltrim(budget_id::text) = budget_id::text AND rtrim(budget_id::text) = budget_id::text), + CONSTRAINT blank_check_cost_type CHECK (ltrim(cost_type::text) = cost_type::text AND rtrim(cost_type::text) = cost_type::text), + CONSTRAINT blank_check_contract_type CHECK (ltrim(contract_type::text) = contract_type::text AND rtrim(contract_type::text) = contract_type::text), + CONSTRAINT blank_check_currency CHECK (ltrim(currency::text) = currency::text AND rtrim(currency::text) = currency::text) +) +WITH ( + OIDS = FALSE +) +TABLESPACE pg_default; + +-- Trigger: update_issuer_cost + +-- DROP TRIGGER IF EXISTS update_issuer_cost ON public.finance_cost; + +CREATE TRIGGER update_issuer_cost + BEFORE UPDATE + ON public.finance_cost + FOR EACH ROW + EXECUTE FUNCTION public.update_issuer(); + + -------------------------------------------------------------------------------------------------------------- + -------------------------------------------------------------------------------------------------------------- + +-- Table: public.finance_invoice + +-- DROP TABLE IF EXISTS public.finance_invoice; + +CREATE TABLE IF NOT EXISTS public.finance_invoice +( + ts_form timestamp without time zone NOT NULL DEFAULT now(), + invoice_number character varying(100) COLLATE pg_catalog."default" NOT NULL, + ticket_number character varying(17) COLLATE pg_catalog."default", + publisher character varying(150) COLLATE pg_catalog."default" NOT NULL, + date_invoice_due date, + date_invoice_receipt date, + date_factually_accurate date, + date_hauptkasse date, + comment_invoice character varying(100) COLLATE pg_catalog."default", + issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + CONSTRAINT finance_invoice_pkey PRIMARY KEY (invoice_number), + CONSTRAINT blank_check_invoice_number CHECK (ltrim(invoice_number::text) = invoice_number::text AND rtrim(invoice_number::text) = invoice_number::text), + CONSTRAINT blank_check_publisher CHECK (ltrim(publisher::text) = publisher::text AND rtrim(publisher::text) = publisher::text), + CONSTRAINT blank_check_ticket_number CHECK (ltrim(ticket_number::text) = ticket_number::text AND rtrim(ticket_number::text) = ticket_number::text) +) +WITH ( + OIDS = FALSE +) +TABLESPACE pg_default; + + + +-- Trigger: update_issuer_invoice + +-- DROP TRIGGER IF EXISTS update_issuer_invoice ON public.finance_invoice; + +CREATE TRIGGER update_issuer_invoice + BEFORE UPDATE + ON public.finance_invoice + FOR EACH ROW + EXECUTE FUNCTION public.update_issuer(); + + +-------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------- + +-- Table: public.finance_budget + +-- DROP TABLE IF EXISTS public.finance_budget; + +CREATE TABLE IF NOT EXISTS public.finance_budget +( + ts_form timestamp without time zone NOT NULL DEFAULT now(), + budget_id character varying(20) COLLATE pg_catalog."default" NOT NULL, + amount_budget_brut numeric(9,2), + name_budget character varying(100) COLLATE pg_catalog."default", + budget_year integer, + kostenart character varying(20) COLLATE pg_catalog."default", + produkt character varying(20) COLLATE pg_catalog."default", + kostenstelle character varying(20) COLLATE pg_catalog."default", + titelgruppe character varying(20) COLLATE pg_catalog."default", + central_paying boolean, + budget_comment character varying(100) COLLATE pg_catalog."default", + issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER, + CONSTRAINT finance_budget_pkey PRIMARY KEY (budget_id) +) +WITH ( + OIDS = FALSE +) +TABLESPACE pg_default; + + + +-- Trigger: update_issuer_budget + +-- DROP TRIGGER IF EXISTS update_issuer_budget ON public.finance_budget; + +CREATE TRIGGER update_issuer_budget + BEFORE UPDATE + ON public.finance_budget + FOR EACH ROW + EXECUTE FUNCTION public.update_issuer(); \ No newline at end of file diff --git a/script/Script_Database.sql b/script/Script_Database.sql deleted file mode 100644 index 2d838f0..0000000 --- a/script/Script_Database.sql +++ /dev/null @@ -1,620 +0,0 @@ -CREATE FUNCTION update_ISSUER() -RETURNS TRIGGER AS $$ -BEGIN - NEW.ISSUER_Update = session_user; - RETURN NEW; -END; -$$ language 'plpgsql'; - ----------------------------------- ---drop table Finance_Request; -create table Finance_Request ( - -----Bearbeitung - OA_ID VARCHAR(17) NOT NULL Constraint Blank_Check_OA_ID CHECK (ltrim(OA_ID) = OA_ID AND rtrim(OA_ID) = OA_ID), - ts_form TIMESTAMP NOT NULL DEFAULT NOW(), - Ticket_Number VARCHAR (17) Constraint Blank_Check_Ticket_Number CHECK (ltrim(Ticket_Number) = Ticket_Number AND rtrim(Ticket_Number) = Ticket_Number), - Decision VARCHAR (1) NOT NULL DEFAULT 'o' CONSTRAINT Value_Check_Decision CHECK (Decision IN ('y','n','o')), - Reason_Denied VARCHAR(100), - Date_Approved DATE, - Postpayment_Check VARCHAR (1) NOT NULL DEFAULT 'o' CONSTRAINT Value_Check_Postpayment_Check CHECK (Postpayment_Check IN ('y','n','o')), - Comment_Postpayment_Check VARCHAR (250), - Report VARCHAR (40), - Processing_Status VARCHAR(50), - Processing_Comment TEXT, - -----Antragsteller - First_Name VARCHAR(40) NOT NULL Constraint Blank_Check_First_Name CHECK (ltrim(First_Name) = First_Name AND rtrim(First_Name) = First_Name), - Family_Name VARCHAR(40) NOT NULL Constraint Blank_Check_Family_Name CHECK (ltrim(Family_Name) = Family_Name AND rtrim(Family_Name) = Family_Name), - ORCID VARCHAR(19) Constraint Blank_Check_ORCID CHECK (ltrim(ORCID) = ORCID AND rtrim(ORCID) = ORCID), - DFG_number VARCHAR(200), - Institution VARCHAR(70) DEFAULT 'TU Dresden' CONSTRAINT Blank_Check_Institution CHECK (trim(Institution) = Institution), - School VARCHAR(50) NOT NULL Constraint Blank_Check_School CHECK (ltrim(School) = School AND rtrim(School) = School), - Faculty VARCHAR(50) Constraint Blank_Check_Faculty CHECK (ltrim(Faculty) = Faculty AND rtrim(Faculty) = Faculty), - Department VARCHAR(70) Constraint Blank_Check_Department CHECK (ltrim(Department) = Department AND rtrim(Department) = Department), - Institute VARCHAR(150) Constraint Blank_Check_Institute CHECK (ltrim(Institute) = Institute AND rtrim(Institute) = Institute), - Center VARCHAR(150) Constraint Blank_Check_Center CHECK (ltrim(Center) = Center AND rtrim(Center) = Center), - Chair VARCHAR(150) Constraint Blank_Check_Chair CHECK (ltrim(Chair) = Chair AND rtrim(Chair) = Chair), - Workgroup VARCHAR(150) Constraint Blank_Check_Workgroup CHECK (ltrim(Workgroup) = Workgroup AND rtrim(Workgroup) = Workgroup), - ----Metadaten - Publisher VARCHAR(150) NOT NULL Constraint Blank_Check_Publisher CHECK (ltrim(Publisher) = Publisher AND rtrim(Publisher) = Publisher), - Journal VARCHAR(150) NOT NULL Constraint Blank_Check_Journal CHECK (ltrim(Journal) = Journal AND rtrim(Journal) = Journal), - EISSN VARCHAR(9) DEFAULT 'XXXX-XXXX', - Title VARCHAR(400) NOT NULL Constraint Blank_Check_Title CHECK (ltrim(title) = title AND rtrim(title) = title), - Article_Type VARCHAR(40) Constraint Blank_Check_Article_Type CHECK (ltrim(Article_Type) = Article_Type AND rtrim(Article_Type) = Article_Type), - Manuskript_ID VARCHAR(100) Constraint Blank_Check_Manuskript_ID CHECK (ltrim(Manuskript_ID) = Manuskript_ID AND rtrim(Manuskript_ID) = Manuskript_ID), - DOI VARCHAR(100) Constraint Blank_Check_DOI CHECK (ltrim(DOI) = DOI AND rtrim(DOI) = DOI), - Research_Article VARCHAR (1) NOT NULL DEFAULT 'o' CONSTRAINT Value_Check_Research_Article CHECK (Research_Article IN ('y','n','o')), - Date_Submitting DATE, - Date_Acceptance DATE, - Date_Publishing DATE, - License VARCHAR(16) Constraint Blank_Check_License CHECK (ltrim(License) = License AND rtrim(License) = License), - Media_Type VARCHAR(12) NOT NULL Constraint Blank_Check_Media_Type CHECK (ltrim(Media_Type) = Media_Type AND rtrim(Media_Type) = Media_Type), - ISSUER varchar(30) default session_user, - ISSUER_Update varchar(30) default session_user, - PRIMARY KEY(OA_ID) - ); - -CREATE TRIGGER update_ISSUER_request - BEFORE UPDATE - ON - Finance_Request - FOR EACH ROW -EXECUTE PROCEDURE update_ISSUER(); - - -CREATE INDEX idx_Finance_Request_doi ON Finance_Request(doi); -EXPLAIN SELECT * FROM Finance_Request WHERE doi = '10.1186/s12871-021-01264-2'; - -select * from Finance_Request; - ------------------------------------------------------------------------------------------------------------------------------ ---drop table Finance_Invoice; -create table Finance_Invoice ( - ts_form TIMESTAMP NOT NULL DEFAULT NOW(), - Invoice_Number VARCHAR(100) Constraint Blank_Check_Invoice_Number CHECK (ltrim(Invoice_Number) = Invoice_Number AND rtrim(Invoice_Number) = Invoice_Number), - Ticket_Number VARCHAR (17) Constraint Blank_Check_Ticket_Number CHECK (ltrim(Ticket_Number) = Ticket_Number AND rtrim(Ticket_Number) = Ticket_Number), - Publisher VARCHAR(150) NOT NULL Constraint Blank_Check_Publisher CHECK (ltrim(Publisher) = Publisher AND rtrim(Publisher) = Publisher), - Date_Invoice_Due DATE, - Date_Invoice_Receipt DATE, - Date_Factually_Accurate DATE, - Date_Hauptkasse DATE, - Comment_Invoice VARCHAR(100), - ISSUER varchar(30) default session_user, - ISSUER_Update varchar(30) default session_user, - PRIMARY KEY(Invoice_Number) - ); - -CREATE TRIGGER update_ISSUER_Invoice - BEFORE UPDATE - ON - Finance_Invoice - FOR EACH ROW -EXECUTE PROCEDURE update_ISSUER(); - -select * from Finance_Invoice; - ---------------------------------------------------------------------------- - ---https://intranet.slub-dresden.de/pages/viewpage.action?pageId=187270120 ---drop table Finance_Budget; -create table Finance_Budget ( - ts_form TIMESTAMP NOT NULL DEFAULT NOW(), - Budget_ID VARCHAR(20), - Amount_budget_brut NUMERIC(9,2), - Name_Budget VARCHAR(100), - Budget_Year INT, - Kostenart VARCHAR(20), - Produkt VARCHAR(20), - Kostenstelle VARCHAR(20), - Titelgruppe VARCHAR(20), - Central_Paying Boolean, --neu: Wird zentral über unsere Transformationsverträge/Publikationsfonds gezahlt oder dezentral? - Budget_Comment VARCHAR(100), - ISSUER VARCHAR(30) default session_user, - ISSUER_Update VARCHAR(30) default session_user, - PRIMARY KEY(Budget_ID) - ); - -CREATE TRIGGER update_ISSUER_Budget - BEFORE UPDATE - ON - Finance_Budget - FOR EACH ROW -EXECUTE PROCEDURE update_ISSUER(); - --------------------------------------------------------------------------- - ---drop table Finance_Cost; -create table Finance_Cost ( - ts_form TIMESTAMP NOT NULL DEFAULT NOW(), - PK_Cost INT GENERATED ALWAYS AS IDENTITY, - OA_ID VARCHAR(17) Constraint Blank_Check_OA_ID CHECK (ltrim(OA_ID) = OA_ID AND rtrim(OA_ID) = OA_ID), - Invoice_Number VARCHAR(100) Constraint Blank_Check_Invoice_Number CHECK (ltrim(Invoice_Number) = Invoice_Number AND rtrim(Invoice_Number) = Invoice_Number), - Budget_ID VARCHAR(20) DEFAULT 'TUD_EL_2023' Constraint Blank_Check_Budget_ID CHECK (ltrim(Budget_ID) = Budget_ID AND rtrim(Budget_ID) = Budget_ID), - Cost_Type VARCHAR(100) Constraint Blank_Check_Cost_Type CHECK (ltrim(Cost_Type) = Cost_Type AND rtrim(Cost_Type) = Cost_Type), - Contract_Type VARCHAR(50) Constraint Blank_Check_Contract_Type CHECK (ltrim(Contract_Type) = Contract_Type AND rtrim(Contract_Type) = Contract_Type), - Amount_net NUMERIC(8,2), - Currency VARCHAR(3) Constraint Blank_Check_Currency CHECK (ltrim(Currency) = Currency AND rtrim(Currency) = Currency), - Amount_euro_net NUMERIC(8,2), - VAT_Percent NUMERIC(3,2) DEFAULT 1.19, - Amount_payment_brut NUMERIC(8,2), --Grüne Spalte --- Amount_euro_brut NUMERIC(8,2), als virtuelle Spalte - Comment_Cost VARCHAR(250), - ISSUER varchar(30) default session_user, - ISSUER_Update varchar(30) default session_user, - PRIMARY KEY(PK_Cost) - ); - -CREATE TRIGGER update_ISSUER_Cost - BEFORE UPDATE - ON - Finance_Cost - FOR EACH ROW -EXECUTE PROCEDURE update_ISSUER(); - - -select * from finance_cost where oa_id = 'OA2023_191' -Handling fee! - -Invoice GAMES-44132-APF-0051635 Handling_Fee 158,44 - ------------------------------------- ------------------------------------- - ---Tabelle für MedFak/Uniklinikum -drop table Finance_MF_Strukturen; -create table Finance_MF_Strukturen ( - ts_form TIMESTAMP NOT NULL DEFAULT NOW(), - PK_MF_Strukturen INT GENERATED ALWAYS AS IDENTITY, - Institution VARCHAR(100) NOT NULL Constraint Blank_Check_Institution CHECK (trim(Institution) = Institution), - Zuordnung VARCHAR(100) NOT NULL Constraint Blank_Check_Zuordnung CHECK (trim(Zuordnung) = Zuordnung), - Kurzbezeichnung VARCHAR(30) NOT NULL Constraint Blank_Check_Kurzbezeichnung CHECK (trim(Kurzbezeichnung) = Kurzbezeichnung), - Langbezeichnung VARCHAR(150) NOT NULL Constraint Blank_Check_Langbezeichnung CHECK (trim(Langbezeichnung) = Langbezeichnung), - PRIMARY KEY(PK_MF_Strukturen) -) - -drop view view_Finance_MF_Strukturen; -create view view_Finance_MF_Strukturen as -select distinct Kurzbezeichnung from Finance_MF_Strukturen limit 10; - -create table Table_MF_Struk as -select distinct Kurzbezeichnung from Finance_MF_Strukturen limit 10; - - - - - - - - -select * from view_Finance_MF_Strukturen - -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ANA','Institut für Anatomie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ASM','Institut und Poliklinik für Arbeits- und Sozialmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','CarL','Carus Lehrzentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','FTE','Forschungsgruppe Tissue Engineering'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','GES','Institut für Geschichte der Medizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','IMB','Institut für Medizinische Informatik und Biometrie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','IMU','Institut für Immunologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KGE','Institut für Klinische Genetik'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KKS','Koordinierungszentrum für Klinische Studien Dresden (KKS-DD)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KPH','Institut für Klinische Pharmakologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','KSM','Klinisches Sensoring und Monitoring'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MBIO','Arbeitsbereich Medizinische Biologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MEDSYS','Medizinische Systembiologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MIB','Institut für Medizinische Mikrobiologie und Hygiene'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MITZ','Medizinisch-Interprofessionelles-Trainingszentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MOLDIA/MOD','Molekulare Diabetologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','MPH','Medizinische Physik'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','PCH','Institut für Physiologische Chemie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','PHT','Institut für Pharmakologie und Toxikologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','PHY','Institut für Physiologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','REM','Institut für Rechtsmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','VIR','Institut für Virologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ZMI','Zetrum für Medizinische Informatik'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','Institute und weitere Einrichtungen der MF','ZEGV','Zentrum für evidenzbasierte Gesundheitsversorgung'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','BIOTEC','Biotechnology Center (inkl. Forschungsgruppe (Molecular) Tissue Engineering (Biotec/MF))'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','CRTD','Center for Regenerative Therapies Dresden (CRTD) - DFG-Forschungszentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','DKTK','Deutsches Konsortium für Translationale Krebsforschung (Partner: DKTK, DKFZ)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','DZD-PLID','Deutsches Zentrum für Diabetesforschung - Paul Langerhans Institut Dresden (Partner: HMGU)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','DZNE','Deutsches Zentrum für Neurodegenerative Erkrankungen, Standort Dresden (Partner: DZNE der Helmholtzgemeinschaft)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','NCT','Nationales Centrum für Tumorerkrankungen (Partner: UKD, MFD, HZDR, DKFZ)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('TU, Medizinische Fakultät Carl Gustav Carus Dresden','gemeinsame Einrichtungen der MFD mit externen Partnern','"OncoRay"/ZIC','Nationales Zentrum für Strahlenforschung in der Onkologie (Partner/Träger: UKD, HZDR)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentralbereiche des UKD','KIF','Klinische Infektiologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentralbereiche des UKD','QM/QRM','Zentralbereich Qualitäts- und Medizinisches Risikomanagement/Qualitäts- und Medizinisches Risikomanagement'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','IKL','Institut für Klinische Chemie und Laboratoriumsmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','NRA','Institut und Poliklinik für Diagnostische und Interventionelle Neuroradiologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','PAT','Institut für Pathologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Institute des UKD','RAD','Institut und Poliklinik für diagnostische und interventionelle Radiologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','AMED','Medizinische Klinik und Poliklinik III, Bereich Allgemeinmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ANE','Klinik und Poliklinik für Anaesthesiologie und Intensivtherapie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','AUG','Klinik und Poliklinik für Augenheilkunde'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','DER','Klinik und Poliklinik für Dermatologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','GYN','Klinik und Poliklinik für Frauenheilkunde und Geburtshilfe'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','HNO','Klinik und Poliklinik für Hals-Nasen-Ohrenheilkunde'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','HZ-HCH','Klinik für Kardiochirurgie (am Herzzentrum)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KCH','Klinik und Poliklinik für Kinderchirurgie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KIK','Klinik und Poliklinik für Kinder- und Jugendmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KIK-NP','Klinik und Poliklinik für Kinder- und Jugendmedizin, Abteilung für Neuropädiatrie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','KJP','Klinik und Poliklinik für Kinder- und Jugendpsychiatrie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','MK1','Medizinische Klinik und Poliklinik I'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','MK3','Medizinische Klinik und Poliklinik III'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','HZ-KAR','Medizinische Klinik mit Schwerpunkt Kardiologie (am Herzzentrum)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','MPS','Medizinische Psychologie und Medizinische Soziologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','NCH','Klinik und Poliklinik für Neurochirurgie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','NEU','Klinik und Poliklinik für Neurologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','NUK','Klinik und Poliklinik für Nuklearmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','PSM','Psychosoziale Medizin und Neurowissenschaften'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','PSO','Klinik und Poliklinik für Psychotherapie und Psychosomatik'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','PSY','Klinik und Poliklinik für Psychiatrie und Psychotherapie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','STR','Klinik und Poliklinik für Strahlentherapie und Radioonkologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','TRA','Bereich Transfusionsmedizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','URO','Klinik und Poliklinik für Urologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','VTG','Klinik und Poliklinik für Viszeral-, Thorax- und Gefäßchirurgie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ZCHFOR/CFO','Abteilung Chirurgische Forschung'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ZIM','Zentrum für Innere Medizin'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Kliniken, Polikliniken, selbständige Abteilungen des UKD','ZSG','Zentrum für Seelische Gesundheit'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','OUC','UniversitätsCentrum für Orthopädie und Unfallchirurgie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','PHCH','Abteilung für Plastische und Handchirurgie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','TFO','Zentrum für Translationale Knochen-, Gelenk- und Weichgewebeforschung'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zentrum für Muskuloskelettale Medizin','MKG','Klinik und Poliklinik für Mund-, Kiefer- und Gesichtschirurgie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','KFO','Poliklinik für Kieferorthopädie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','KZH','Kinderzahnheilkunde'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','PAR','Poliklinik für Parodontologie'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','ZAP','Poliklinik für Zahnärztliche Prothetik'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Zahnmedizin','ZER','Poliklinik für Zahnerhaltung'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','EKFZ','Else-Kröner-Fresenius-Zentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','DINZ','Diagnostisch-Internistisch-Neurologisches Zentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','DNVC','Dresdner NeurovaskuläresCentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','GKZ','Gynäkologisches Krebszentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','HTZ','Hauttumorzentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','MKG-UPÄC','Universitäts PlastischÄsthetisches Centrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','PCA','Prostatakarzinomzentrum am UniversitätsKrebsCentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','RBZ','Regionales Brustzentrum Dresden'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','SCIC','Sächsisches Cochlear Implant Centrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','SPZ','Sozialpädiatrisches Zentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UAC','Universitäts Allergiecentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UCARE','UniversitätsCentrum für Autoimmun- und Rheumatische Erkrankungen'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UCC','Universitäts KrebsCentrum Dresden (University Cancer Center)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UCGA','UniversitätsCentrum für Gesundes Altern (in der MK3)'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UGC','Universitäts GefäßCentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UKF','Universitäts Kinder- Frauenzentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UMC','Universitäts MukoviszidoseCentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UPC','Universitäts PalliativCentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','UPZ','Universitäts-Physiotherapie-Zentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','USC','Universitäts SchmerzCentrum'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','USE','UniversitätsCentrum für Seltene Erkrankungen'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','ZFD','Zentrum Familiärer Darmkrebs'); -INSERT INTO Finance_MF_Strukturen (Institution, Zuordnung, Kurzbezeichnung, Langbezeichnung) VALUES ('Universitätsklinikum Carl Gustav Carus Dresden','Interdisziplinäre Zentren des UKD','HZ-ANÄ','Institut für Kardioanästhesie (am Herzzentrum)'); - -select * from Finance_MF_Strukturen; - - -create table Finance_MF ( - ts_form TIMESTAMP NOT NULL DEFAULT NOW(), - Belegnummer VARCHAR(10) NOT NULL, - Bemerkungen TEXT, - Vorname VARCHAR(40) NOT NULL Constraint Blank_Check_Vorname CHECK (trim(Vorname) = Vorname), - Nachname VARCHAR(40) NOT NULL Constraint Blank_Check_Nachname CHECK (trim(Nachname) = Nachname), - Einrichtung VARCHAR(100) NOT NULL Constraint Blank_Check_Einrichtung CHECK (trim(Einrichtung) = Einrichtung), - Verlag VARCHAR(150) NOT NULL Constraint Blank_Check_Verlag CHECK (trim(Verlag) = Verlag), - Journal VARCHAR(150) NOT NULL Constraint Blank_Check_Journal2 CHECK (trim(Journal) = Journal), - --OA.Status - Title VARCHAR(400) NOT NULL Constraint Blank_Check_Journal CHECK (trim(Journal) = Journal), - --Article.Type - Manuskript_ID VARCHAR(40) Constraint Blank_Check_Manuskript_ID CHECK (trim(Manuskript_ID) = Manuskript_ID), - DOI VARCHAR(100) NOT NULL Constraint Blank_Check_DOI CHECK (trim(DOI) = DOI), - Datum_Akzeptanz DATE, - Datum_Veröffentlichung DATE, - Gebühr_Netto NUMERIC(8,2), - Währung VARCHAR(3) Constraint Blank_Check_Währung CHECK (trim(Währung) = Währung), - Gebühr_Euro_Netto NUMERIC(8,2), - Gebühr_Euro_Brutto NUMERIC(8,2), - Gebührenart VARCHAR(20), - Budget VARCHAR(20), - Kostenstelle VARCHAR(20), - Fonds VARCHAR(20), - Datum_Rechnung DATE, - Datum_Rechnungsfälligkeit DATE, - Rechnungsnummer VARCHAR(100) Constraint Blank_Check_Rechnungsnummer CHECK (trim(Rechnungsnummer) = Rechnungsnummer), - Datum_Buchung DATE, - Haushaltskasse_Brutto NUMERIC(8,2), - Haushaltsjahr_Rechnung INT, - ISSUER VARCHAR(30) default session_user, - ISSUER_Update VARCHAR(30) default session_user, - PRIMARY KEY(Belegnummer) -) - -select * from Finance_MF - - - - - - - ---------------------------------------- ---------------------------------------- - ---https://stackoverflow.com/questions/39361426/postgres-query-for-matrix-table ---create extension if not exists tablefunc; - ---drop view View_Budget_Kalkulation; -CREATE VIEW View_Budget_Kalkulation AS -WITH BASIS AS -( -select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, a.Budget_ID, Budget_Year, date_factually_accurate, b.Amount_budget_brut as Budget, -CASE -WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2) -WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2) -ELSE a.Amount_payment_brut END AS Amount, -CASE - WHEN a.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN a.Amount_payment_brut is not null THEN 'ZAHLUNG' - ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS -from Finance_Cost a -JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id) -LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number) -), -basis1 AS -( -select oa_id, Budget_Year, Budget_ID, cast(Amount as money) AS Amount, cast(Budget as money) as Budget, INVOICE_STATUS -FROM basis -), -basis2 AS -( -select distinct Budget_Year, INVOICE_STATUS, Budget_ID, -SUM(Amount) OVER (PARTITION BY INVOICE_STATUS, Budget_ID) AS SUM_AMOUNT -FROM basis1 -UNION -select distinct Budget_Year, 'BEWILLIGT' AS INVOICE_STATUS, Budget_ID, -SUM(Amount) OVER (PARTITION BY Budget_ID) AS SUM_AMOUNT -FROM basis1 -UNION -select distinct Budget_Year, 'BUDGET' AS INVOICE_STATUS, Budget_ID, -Budget AS SUM_AMOUNT -FROM basis1 -UNION -select distinct Budget_Year, 'SALDO' AS INVOICE_STATUS, Budget_ID, -Budget - SUM(Amount) OVER (PARTITION BY Budget_ID) AS SUM_AMOUNT -FROM basis1 -) -select distinct -CASE - WHEN INVOICE_STATUS = 'BEWILLIGT' THEN '1_' - WHEN INVOICE_STATUS = 'FESTLEGUNG' THEN '2_' - WHEN INVOICE_STATUS = 'ZAHLUNGSANORDNUNG' THEN '3_' - WHEN INVOICE_STATUS = 'ZAHLUNG' THEN '4_' - WHEN INVOICE_STATUS = 'BUDGET' THEN '5_' - ELSE '6_' END AS RANG, -Budget_Year, INVOICE_STATUS, Budget_ID, SUM_AMOUNT -from basis2; - - -select * from View_Budget_Kalkulation; - ---drop view View_Extern_Budget_2019; -CREATE VIEW View_Extern_Budget_2019 AS -Select * from - crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2019 order by 1,2') - as View_Budget_Kalkulation(INVOICE_STATUS text, SLUB_2019 Money, TUD_EPC_2019 Money, TUD_I_2019 Money); - ---drop view View_Extern_Budget_2020; -CREATE VIEW View_Extern_Budget_2020 AS -Select * from - crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2020 order by 1,2') - as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2020 Money, DFG_PP_2020 Money, SLUB_2020 Money, TUD_EL_2020 Money, TUD_EPC_2020 Money); - -select * from View_Extern_Budget_2020; - ---drop view View_Extern_Budget_2021; -CREATE VIEW View_Extern_Budget_2021 AS -Select * from - crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2021 order by 1,2') - as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2021 Money, DFG_PP_2021 Money, OA_SAX_2021 Money, SLUB_2021 Money, TUD_EL_2021 Money, TUD_KOFIN_2021 Money); - -select * from View_Extern_Budget_2021; - ---drop view View_Extern_Budget_2022; -CREATE VIEW View_Extern_Budget_2022 AS -Select * from - crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2022 order by 1,2') - as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2022 Money, MF_DM_2022 Money, MF_HA_2022 Money, SLUB_2022 Money, TUD_DM_2022 Money, TUD_EL_2022 Money, TUD_HA_2022 Money); - -select * from View_Extern_Budget_2022; - - ---drop view View_Extern_Budget_2023; -CREATE VIEW View_Extern_Budget_2023 AS -Select * from - crosstab('select CONCAT(RANG, INVOICE_STATUS), Budget_ID,SUM_AMOUNT from View_Budget_Kalkulation where Budget_Year = 2023 order by 1,2') - as View_Budget_Kalkulation(INVOICE_STATUS text, DFG_2023 Money, DFG_PP_2023 Money, DFG_TUD_2023 Money, MF_DM_2023 Money, MF_HA_2023 Money, SLUB_2023 Money, TUD_DM_2023 Money, TUD_EL_2023 Money, TUD_HA_2023 Money); - -select * from View_Extern_Budget_2023; - - - -drop view View_All_Tables_2022; -CREATE VIEW View_All_Tables_2022 AS -SELECT DISTINCT a.oa_id, a.ticket_number, a.decision, a.reason_denied, a.date_approved, a.postpayment_check, a.comment_postpayment_check, a.report, a.processing_status, a.processing_comment, a.research_article, a.first_name, a.family_name, a.dfg_number, a.institution, a.school, a.faculty, a.publisher, a.journal, a.eissn, a.title, a.article_type, a.manuskript_id, a.doi, a.date_acceptance, a.date_publishing, a.license, a.media_type, -b.budget_id, d.budget_year, b.cost_type, b.contract_type, b.amount_net, b.currency, b.amount_euro_net, b.vat_percent, -CASE -WHEN b.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(b.amount_net * VAT_Percent,2) -WHEN b.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(b.amount_euro_net * VAT_Percent,2) -ELSE b.Amount_payment_brut END AS amount_euro_brut, -b.amount_payment_brut, b.comment_cost, -CASE - WHEN decision = 'n' THEN 'ABLEHNUNG' - WHEN b.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN b.Amount_payment_brut is not null THEN 'ZAHLUNG' - ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS, -c.invoice_number, c.date_invoice_due, c.date_invoice_receipt, c.date_factually_accurate, c.date_hauptkasse, c.comment_invoice -FROM Finance_Request a -LEFT JOIN Finance_Cost b ON (a.OA_ID = b.OA_ID) -LEFT JOIN Finance_Invoice c ON (b.Invoice_number = c.Invoice_number) -LEFT JOIN Finance_Budget d ON (b.Budget_id = d.Budget_id) -where budget_year = 2022 OR Comment_cost like '%_2022%'; - -select * from View_All_Tables_2022; - -drop view View_All_Tables_2023; -CREATE VIEW View_All_Tables_2023 AS -SELECT DISTINCT a.oa_id, a.ticket_number, a.decision, a.reason_denied, a.date_approved, a.postpayment_check, a.comment_postpayment_check, a.report, a.processing_status, a.processing_comment, a.research_article, a.first_name, a.family_name, a.dfg_number, a.institution, a.school, a.faculty, a.publisher, a.journal, a.eissn, a.title, a.article_type, a.manuskript_id, a.doi, a.date_acceptance, a.date_publishing, a.license, a.media_type, -b.budget_id, d.budget_year, b.cost_type, b.contract_type, b.amount_net, b.currency, b.amount_euro_net, b.vat_percent, -CASE -WHEN b.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(b.amount_net * VAT_Percent,2) -WHEN b.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(b.amount_euro_net * VAT_Percent,2) -ELSE b.Amount_payment_brut END AS amount_euro_brut, -b.amount_payment_brut, b.comment_cost, -CASE - WHEN decision = 'n' THEN 'ABLEHNUNG' - WHEN b.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN b.Amount_payment_brut is not null THEN 'ZAHLUNG' - ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS, -c.invoice_number, c.date_invoice_due, c.date_invoice_receipt, c.date_factually_accurate, c.date_hauptkasse, c.comment_invoice -FROM Finance_Request a -LEFT JOIN Finance_Cost b ON (a.OA_ID = b.OA_ID) -LEFT JOIN Finance_Invoice c ON (b.Invoice_number = c.Invoice_number) -LEFT JOIN Finance_Budget d ON (b.Budget_id = d.Budget_id) -where budget_year = 2023 OR Comment_cost like '%_2023%'; - -select * from View_All_Tables_2023; - -drop view View_All_Tables; -CREATE VIEW View_All_Tables AS -SELECT DISTINCT a.oa_id, a.ticket_number, a.decision, a.reason_denied, a.date_approved, a.postpayment_check, a.comment_postpayment_check, a.report, a.processing_status, a.processing_comment, a.research_article, a.first_name, a.family_name, a.dfg_number, a.institution, a.school, a.faculty, a.publisher, a.journal, a.eissn, a.title, a.article_type, a.manuskript_id, a.doi, a.date_acceptance, a.date_publishing, a.license, a.media_type, -b.budget_id, d.budget_year, b.cost_type, b.contract_type, b.amount_net, b.currency, b.amount_euro_net, b.vat_percent, -CASE -WHEN b.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(b.amount_net * VAT_Percent,2) -WHEN b.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(b.amount_euro_net * VAT_Percent,2) -ELSE b.Amount_payment_brut END AS amount_euro_brut, -b.amount_payment_brut, b.comment_cost, -CASE - WHEN decision = 'n' THEN 'ABLEHNUNG' - WHEN b.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN b.Amount_payment_brut is not null THEN 'ZAHLUNG' - ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS, -c.invoice_number, c.date_invoice_due, c.date_invoice_receipt, c.date_factually_accurate, c.date_hauptkasse, c.comment_invoice -FROM Finance_Request a -LEFT JOIN Finance_Cost b ON (a.OA_ID = b.OA_ID) -LEFT JOIN Finance_Invoice c ON (b.Invoice_number = c.Invoice_number) -LEFT JOIN Finance_Budget d ON (b.Budget_id = d.Budget_id); - ---Views für DropDown-Felder -CREATE VIEW View_formular_license AS -select distinct license from finance_request order by license; - -CREATE VIEW View_formular_media_type AS -select distinct media_type from finance_request order by media_type; - ---CREATE VIEW View_formular_Reason_Denied AS ---select distinct Reason_Denied from finance_request order by Reason_Denied; - -CREATE VIEW View_formular_decision AS -select distinct decision from finance_request order by decision; - -CREATE VIEW View_formular_postpayment_Check AS -select distinct postpayment_Check from finance_request order by postpayment_Check; - -CREATE VIEW View_formular_research_article AS -select distinct research_article from finance_request order by research_article; - - -select * from finance_request where decision = 'J' - - - - - ---Kontrolle MDPL-Rechnung 30.08.2023 -WITH BASIS AS -( -select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, a.Budget_ID, Budget_Year, date_factually_accurate, b.Amount_budget_brut as Budget, -CASE -WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2) -WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2) -ELSE a.Amount_payment_brut END AS Amount, -CASE - WHEN a.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN a.Amount_payment_brut is not null THEN 'ZAHLUNG' - ELSE 'ZAHLUNGSANORDNUNG' END AS INVOICE_STATUS -from Finance_Cost a -JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id) -LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number) -) -select oa_id, Budget_Year, Budget_ID, cast(Amount as money) AS Amount, cast(Budget as money) as Budget, INVOICE_STATUS -FROM basis ---where INVOICE_STATUS = 'ZAHLUNGSANORDNUNG' -where OA_ID IN ('OA2022_511', 'OA2022_661', 'OA2022_683', 'OA2023_007', 'OA2023_030', 'OA2023_037', 'OA2023_039', - 'OA2023_043', 'OA2023_065', 'OA2023_073', 'OA2023_076', 'OA2023_080', 'OA2023_081', 'OA2023_094', - 'OA2023_097', 'OA2023_124', 'OA2023_125', 'OA2023_131', 'OA2023_143', 'OA2023_158', 'OA2023_178', - 'OA2023_179', 'OA2023_197', 'OA2023_202') - - - - ---Für Haushalt: Alle Zahlungen, die festgelegt sind oder in Zahlungsanordnung -CREATE VIEW View_Budget_FESTLEGUNGEN_ZAHLUNGSANORDNUNG AS -WITH BASIS AS -( -select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, a.Budget_ID, Budget_Year, date_factually_accurate, b.Amount_budget_brut as Budget, -CASE -WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2) -WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2) -ELSE a.Amount_payment_brut END AS Amount -from Finance_Cost a -JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id) -LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number) -where b.budget_id IN ('DFG_2023', 'SLUB_2023', 'TUD_EL_2023') and a.Amount_payment_brut is null -), -basis1 AS -( -select oa_id, Budget_Year, Budget_ID, cast(Amount as money) AS Amount, cast(Budget as money) as Budget -FROM basis -) -select distinct Budget_Year, Budget_ID, SUM(Amount) OVER (PARTITION BY Budget_ID) AS SUM_AMOUNT FROM basis1; - - - ------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------ ---drop view View_Extern_ORG_ZAHLUNG; -CREATE VIEW View_Extern_ORG_ZAHLUNG AS -WITH BASIS AS -( -select distinct a.oa_id, a.amount_net, a.currency, a.amount_euro_net, a.Amount_payment_brut, Budget_Year, date_factually_accurate, institution, School, Faculty, -CASE -WHEN a.Amount_payment_brut is null and currency = 'EUR' THEN ROUND(a.amount_net * VAT_Percent,2) -WHEN a.Amount_payment_brut is null and currency <> 'EUR' THEN ROUND(a.amount_euro_net * VAT_Percent,2) -ELSE a.Amount_payment_brut END AS Amount, -CASE - WHEN a.Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN a.Amount_payment_brut is null AND date_factually_accurate is not null THEN 'ZAHLUNGSANORDNUNG' - ELSE 'ZAHLUNG' END AS INVOICE_STATUS -from Finance_Cost a -JOIN Finance_Budget b ON (a.Budget_id = b.Budget_id) -JOIN Finance_Request d ON (a.OA_ID = d.OA_ID) -LEFT JOIN Finance_Invoice c ON (a.Invoice_number = c.Invoice_number) -where decision IN ('j', 'o') AND Budget_Year = 2023 AND OA_Status IN ('Fully OA', 'Hybrid') -), -basis1 AS -( -select distinct oa_id, Budget_Year, Amount, School, Faculty, -CASE - WHEN Amount_payment_brut is null AND date_factually_accurate is null THEN 'FESTLEGUNG' - WHEN Amount_payment_brut is null AND date_factually_accurate is not null THEN 'ZAHLUNGSANORDNUNG' - ELSE 'ZAHLUNG' END AS INVOICE_STATUS -FROM basis -), -basis2 AS -( -select distinct Budget_Year, INVOICE_STATUS, School, Faculty, -COUNT(OA_ID) OVER (PARTITION BY School) AS CNT_School, -cast(SUM(Amount) OVER (PARTITION BY School) as money) AS AMOUNT_School, -COUNT(OA_ID) OVER (PARTITION BY Faculty) AS CNT_Faculty, -cast(SUM(Amount) OVER (PARTITION BY Faculty) as money) AS AMOUNT_Faculty -FROM basis1 - where INVOICE_STATUS IN ('ZAHLUNG', 'ZAHLUNGSANORNUNG') -order by School, Faculty -) -select distinct Budget_Year, School, Faculty, -CONCAT(CNT_School, ' (', AMOUNT_School, ')') AS Value_School, CONCAT(CNT_Faculty, ' (', AMOUNT_Faculty, ')') AS Value_Faculty -FROM basis2; \ No newline at end of file -- GitLab