Skip to content

SQL Exercise 4

Use schema Projects Schema

-- ------------------------------------------------------------------------
-- 2.1) UNION Klausel
-- ------------------------------------------------------------------------
-- region
-- Geben Sie für jeden Projekttyp die Anzahl der zugeordneten Projekte an.
-- Ausage: PROJECT_TYPE, PROJECT_COUNT
-- @PROJECT_TYPE: REQUEST_FUNDING_PROJECTS -> REQUEST
-- RESEARCH_FUNDING_PROJECTS -> RESEARCH
-- MANAGEMENT_PROJECTS -> MANAGEMENT
-- @PROJECT_COUNT: Anzahl der zugeordneten Projekte
-- Hinweis: Basistabelle -> PROJECTS_BT
-- Tables: PROJECTS_BT, REQUEST_FUNDING_PROJECTS, RESEARCH_FUNDING_PROJECTS, MANAGEMENT_PROJECTS
-- endregion
-- ---------------------------------------------------------------------- -
-- 2.2 Union Klausel
-- ---------------------------------------------------------------------- -
-- region
-- Geben Sie fuer jedes Projekt die folgenden Spalten aus: PROJECT_ID, TITLE
-- EVENT_TYPE, EVENT, DATE_OF_EVENT. Sortieren Sie das Ergebnis nach der
-- PROJECT_ID UND DEM DATE_OF_EVENT.
-- @EVENT: Fuer jedes Projekt sollen alle Events (PROJECT_STATE) der
-- PROJECT_HAS_STATES_JT Tabelle gemeinsam mit den Events der
-- zugeordneten Subprojekte ausgegeben werden.
-- @EVENT_TYPE: Gegen Sie 'PROJECT' fuer Projektevents und
-- 'SUBPROJECT' fuer Subprojektevents aus
-- @DATE_OF_EVENT: Der Zeitpunkt an dem das Event eingetreten ist.
-- Tabellen: PROJECTS, PROJECT_HAS_STATES_JT, SUBPROJECTS,
-- SUBPROJECT_HAS_STATES_JT
-- ---------------------------------------------------------------------- -
-- 2.3 Beispiel: UNION, EXISTS Klausel
-- ---------------------------------------------------------------------- -
-- region
-- Geben Sie fuer jedes Projekt die folgenden Daten aus: PROJECT_ID, TITLE
-- PROJECT_BEGIN, PROJECT_END, DAY_COUNT
-- Hinweis: Sie duerfen zur Loesung der Aufgabe die GROUP BY Klausel nicht
-- verwenden.
-- @PROJECT_BEGIN: CREATED_AT
-- @PROJECT_END: Das Projektende entspricht dem letzten Statuswechsel
-- der Subprojekte des Projekts. Hat ein Projekt keine
-- zugeordneten Subprojekte wird das Datum des letzten
-- Statuswechsels des Projekts bestimmt.
-- Tabellen: PROJECTS, PROJECT_HAS_STATES_JT, SUBPROJECTS, SUBPROJECTS_HAS_STATES_JT
-- endregion
-- ------------------------------------------------------------------------
-- 2.4) UNION Klausel
-- ------------------------------------------------------------------------
-- region
-- Geben Sie für jeden Projekttyp das Projekt mit der höchsten Projekt-
-- förderung an.
-- Ausage: PROJECT_TYPE, PROJECT_ID, FUNDING_AMOUNT
-- @PROJECT_TYPE: REQUEST_FUNDING_PROJECTS -> REQUEST
-- RESEARCH_FUNDING_PROJECTS -> RESEARCH
-- MANAGEMENT_PROJECTS -> MANAGEMENT
-- @PROJECT_ID : Die PROJECT_ID des Projekts mit der höchsten
-- Projektförderung für den entsprechenden
-- PROJECT_TYPE
-- @FUNDING_AMOUNT: Die Projektförderung des Projekts mit der
-- höchsten Projektförderung
-- Tables: PROJECTS_BT, REQUEST_FUNDING_PROJECTS, RESEARCH_FUNDING_PROJECTS, MANAGEMENT_PROJECTS
-- PROJECT_DEBITORS
-- endregion
-- ------------------------------------------------------------------------
-- 2.5) INTERSECT Klausel
-- ------------------------------------------------------------------------
-- region
-- Geben Sie alle Projekte aus die eine Forgängerprojekt haben und deren
-- Projektförderung höher ist als 50000
-- Ausage: PROJECT_ID, TITLE
-- Tables: PROJECTS_BT, PROJECT_FORERUNNERS_JT, PROJECT_FORERUNNERS_JT
-- endregion
-- ------------------------------------------------------------------------
-- 2.6) INTERSECT Klausel
-- ------------------------------------------------------------------------
-- region
-- Finden Sie alle Geldgeber die ausschließlich Auftragsprojekte umsetzen und
-- insgesamt einen Umsatz von mindestens 20000 an Fördergeldern investiert
-- haben.
-- Ausgabe: DEBITOR_ID, NAME
-- Tables: DEBIORS, PROJECT_DEBITORS_JT, REQUEST_FUNDING_PROJECTS
-- endregion
-- ------------------------------------------------------------------------
-- 2.7) EXCEPT Klausel
-- ------------------------------------------------------------------------
-- region
-- Geben Sie alle Projekte die weder Management- noch Researchfundingprojekte
-- sind.
-- Ausgabe: PROJECT_ID, TITLE
-- Tables: PROJECT_BT, MANAGEMENT_PROJECT, RESEARCH_FUNDING_PROJECTS
-- endregion