From 4c0d8e7f20b7ed9cbb6fbbaf4e00e8dd3b7ed264 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 28 Mar 2019 16:38:32 +0100 Subject: [PATCH] Fixed 0 values in Reihungstest end results Fixed query to retrieve correct Reihungstest end results for basic question areas. --- include/pruefling.class.php | 3 +- system/dbupdate_3.3.php | 56 +++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/include/pruefling.class.php b/include/pruefling.class.php index 7e56d4bf0..d780c8df7 100644 --- a/include/pruefling.class.php +++ b/include/pruefling.class.php @@ -331,7 +331,7 @@ class pruefling extends basis_db FROM testtool.vw_auswertung_ablauf JOIN - public.tbl_studiengang ON vw_auswertung_ablauf.stg_kurzbz = tbl_studiengang.kurzbzlang + public.tbl_studiengang USING (studiengang_kz) WHERE reihungstest_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER); @@ -405,7 +405,6 @@ class pruefling extends basis_db tbl_reihungstest.datum desc LIMIT 1 ) "; - if($result = $this->db_query($qry)) { // Wenn keine Eintraege vorhanden dann false diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 98b4d746a..6a2eb5137 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -656,6 +656,62 @@ if(!@$db->db_query("SELECT updateamum FROM public.tbl_rt_person LIMIT 1")) echo '
Spalte updateamum in public.tbl_rt_person hinzugefügt'; } +// ADD COLUMN studiengang_kz to testtool.vw_auswertung_ablauf +if(!$result = @$db->db_query("SELECT studiengang_kz FROM testtool.vw_auswertung_ablauf LIMIT 1")) +{ + // CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf and grants privileges + $qry = ' + CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf AS ( + SELECT + tbl_gebiet.gebiet_id, + tbl_gebiet.bezeichnung AS gebiet, + tbl_ablauf.reihung, + tbl_gebiet.maxpunkte, + tbl_pruefling.pruefling_id, + tbl_pruefling.prestudent_id, + tbl_person.vorname, + tbl_person.nachname, + tbl_person.gebdatum, + tbl_person.geschlecht, + tbl_pruefling.semester, + upper(tbl_studiengang.typ::character varying(1)::text || tbl_studiengang.kurzbz::text) AS stg_kurzbz, + tbl_studiengang.bezeichnung AS stg_bez, + tbl_pruefling.registriert, + tbl_pruefling.idnachweis, + ( SELECT sum(tbl_vorschlag.punkte) AS sum + FROM testtool.tbl_vorschlag + JOIN testtool.tbl_antwort USING (vorschlag_id) + JOIN testtool.tbl_frage USING (frage_id) + WHERE tbl_antwort.pruefling_id = tbl_pruefling.pruefling_id AND tbl_frage.gebiet_id = tbl_gebiet.gebiet_id + ) AS punkte, + tbl_rt_person.rt_id AS reihungstest_id, + tbl_ablauf.gewicht, + tbl_studiengang.studiengang_kz + FROM + testtool.tbl_pruefling + JOIN testtool.tbl_ablauf ON tbl_ablauf.studiengang_kz = tbl_pruefling.studiengang_kz + JOIN testtool.tbl_gebiet USING (gebiet_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_rt_person USING (person_id) + JOIN lehre.tbl_studienplan ON tbl_studienplan.studienplan_id = tbl_rt_person.studienplan_id + JOIN lehre.tbl_studienordnung ON tbl_studienordnung.studienordnung_id = tbl_studienplan.studienordnung_id + JOIN public.tbl_studiengang ON tbl_prestudent.studiengang_kz = tbl_studiengang.studiengang_kz + WHERE NOT (tbl_ablauf.gebiet_id IN + ( + SELECT tbl_kategorie.gebiet_id + FROM testtool.tbl_kategorie + ) + ) AND tbl_studienordnung.studiengang_kz = tbl_pruefling.studiengang_kz + )'; + + if(!$db->db_query($qry)) + echo 'testtool.vw_auswertung_ablauf: '.$db->db_last_error().'
'; + else + echo '
testtool.vw_auswertung_ablauf view created'; +} + + // ADD COLUMN updatevon to public.tbl_rt_person if(!@$db->db_query("SELECT updatevon FROM public.tbl_rt_person LIMIT 1")) {