# HG changeset patch # User Raimund Renkert # Date 1486052911 -3600 # Node ID b63e0abcbf84cb65ba20bf4ce96420bc3e1c4173 # Parent 15700d7c00eba15474a420de2d4b0b897a798c88 Fixed query for messprogramme to show messprogramme without e-ort. diff -r 15700d7c00eb -r b63e0abcbf84 db_schema/stammdaten_data_query.sql --- a/db_schema/stammdaten_data_query.sql Thu Feb 02 15:41:05 2017 +0100 +++ b/db_schema/stammdaten_data_query.sql Thu Feb 02 17:28:31 2017 +0100 @@ -30,7 +30,7 @@ 11 Probenehmer 4 Abfrage der Probenehmer 12 Datensatzerzeuger 5 Abfrage der Datensatzerzeuger 14 Messprogrammkategorie 6 Abfrage der Messprogrammkategorien -9 kein Filter 2 SELECT messprogramm.id, stammdaten.mess_stelle.netzbetreiber_id AS netzId, CASE WHEN messprogramm.mst_id = messprogramm.labor_mst_id THEN messprogramm.mst_id ELSE messprogramm.mst_id || '-' || messprogramm.labor_mst_id END AS mstLaborId, datenbasis.datenbasis AS dBasis, CASE WHEN messprogramm.ba_id = '1' THEN 'RB' ELSE 'IB' END AS messRegime, probenart.probenart AS pArt, messprogramm.umw_id AS umwId, messprogramm.media_desk AS deskriptoren, messprogramm.probenintervall AS intervall, ort.ort_id AS ortId, ort.gem_id AS eGemId, verwaltungseinheit.bezeichnung AS eGem FROM land.messprogramm LEFT JOIN stammdaten.mess_stelle ON (messprogramm.mst_id = stammdaten.mess_stelle.id) LEFT JOIN stammdaten.datenbasis ON (messprogramm.datenbasis_id = datenbasis.id) LEFT JOIN stammdaten.probenart ON (messprogramm.probenart_id = probenart.id) LEFT OUTER JOIN land.ortszuordnung_mp ON ( messprogramm.id = ortszuordnung_mp.messprogramm_id AND ortszuordnung_mp.ortszuordnung_typ = 'E' ) LEFT OUTER JOIN stammdaten.ort ON (ortszuordnung_mp.ort_id = ort.id) JOIN stammdaten.verwaltungseinheit ON (ort.gem_id = verwaltungseinheit.id) Abfrage der Messprogramme ohne Filter +9 kein Filter 2 SELECT messprogramm.id, stammdaten.mess_stelle.netzbetreiber_id AS netzId, CASE WHEN messprogramm.mst_id = messprogramm.labor_mst_id THEN messprogramm.mst_id ELSE messprogramm.mst_id || '-' || messprogramm.labor_mst_id END AS mstLaborId, datenbasis.datenbasis AS dBasis, CASE WHEN messprogramm.ba_id = '1' THEN 'RB' ELSE 'IB' END AS messRegime, probenart.probenart AS pArt, messprogramm.umw_id AS umwId, messprogramm.media_desk AS deskriptoren, messprogramm.probenintervall AS intervall, ort.ort_id AS ortId, ort.gem_id AS eGemId, verwaltungseinheit.bezeichnung AS eGem FROM land.messprogramm LEFT JOIN stammdaten.mess_stelle ON (messprogramm.mst_id = stammdaten.mess_stelle.id) LEFT JOIN stammdaten.datenbasis ON (messprogramm.datenbasis_id = datenbasis.id) LEFT JOIN stammdaten.probenart ON (messprogramm.probenart_id = probenart.id) LEFT OUTER JOIN land.ortszuordnung_mp ON ( messprogramm.id = ortszuordnung_mp.messprogramm_id AND ortszuordnung_mp.ortszuordnung_typ = 'E' ) LEFT OUTER JOIN stammdaten.ort ON (ortszuordnung_mp.ort_id = ort.id) LEFT OUTER JOIN stammdaten.verwaltungseinheit ON (ort.gem_id = verwaltungseinheit.id) Abfrage der Messprogramme ohne Filter 1 kein Filter 0 SELECT probe.id AS id, probe.hauptproben_nr AS hpNr, datenbasis.datenbasis AS dBasis, stammdaten.mess_stelle.netzbetreiber_id AS netzId, probe.mst_id AS mstId, probe.umw_id AS umwId, probenart.probenart AS pArt, to_char(probe.probeentnahme_beginn, 'dd.mm.YYYY hh24:MI') AS peBegin, to_char(probe.probeentnahme_ende, 'dd.mm.YYYY hh24:MI') AS peEnd, ort.ort_id AS ortId, ort.gem_id AS eGemId, verwaltungseinheit.bezeichnung AS eGem, probe.id_alt AS probeId FROM land.probe LEFT JOIN stammdaten.mess_stelle ON (probe.mst_id = stammdaten.mess_stelle.id) LEFT JOIN stammdaten.datenbasis ON (probe.datenbasis_id = datenbasis.id) LEFT JOIN stammdaten.probenart ON (probe.probenart_id = probenart.id) LEFT OUTER JOIN land.ortszuordnung ON ( probe.id = ortszuordnung.probe_id AND ortszuordnung.ortszuordnung_typ = 'E' ) LEFT OUTER JOIN stammdaten.ort ON (ortszuordnung.ort_id = ort.id) LEFT OUTER JOIN stammdaten.verwaltungseinheit ON (ort.gem_id = verwaltungseinheit.id) Abfrage aller Proben ohne Filter 2 HP-Nr-Filter 0 SELECT probe.id AS id, probe.hauptproben_nr AS hpNr, datenbasis.datenbasis AS dBasis, stammdaten.mess_stelle.netzbetreiber_id AS netzId, probe.mst_id AS mstId, probe.umw_id AS umwId, probenart.probenart AS pArt, to_char(probe.probeentnahme_beginn, 'dd.mm.YYYY hh24:MI') AS peBegin, to_char(probe.probeentnahme_ende, 'dd.mm.YYYY hh24:MI') AS peEnd, ort.ort_id AS ortId, ort.gem_id AS eGemId, verwaltungseinheit.bezeichnung AS eGem, probe.id_alt AS probeId FROM land.probe LEFT JOIN stammdaten.mess_stelle ON (probe.mst_id = stammdaten.mess_stelle.id) LEFT JOIN stammdaten.datenbasis ON (probe.datenbasis_id = datenbasis.id) LEFT JOIN stammdaten.probenart ON (probe.probenart_id = probenart.id) LEFT OUTER JOIN land.ortszuordnung ON ( probe.id = ortszuordnung.probe_id AND ortszuordnung.ortszuordnung_typ = 'E' ) LEFT OUTER JOIN stammdaten.ort ON (ortszuordnung.ort_id = ort.id) LEFT OUTER JOIN stammdaten.verwaltungseinheit ON (ort.gem_id = verwaltungseinheit.id) WHERE (probe.hauptproben_nr LIKE CASE WHEN :hpNrFilter = '' THEN '%' ELSE :hpNrFilter END) Abfrage der Proben mit Wildcardfilter für die Hauptproben-Nr. 3 Probe-ID-Filter 0 SELECT probe.id AS id, probe.hauptproben_nr AS hpNr, datenbasis.datenbasis AS dBasis, stammdaten.mess_stelle.netzbetreiber_id AS netzId, probe.mst_id AS mstId, probe.umw_id AS umwId, probenart.probenart AS pArt, to_char(probe.probeentnahme_beginn, 'dd.mm.YYYY hh24:MI') AS peBegin, to_char(probe.probeentnahme_ende, 'dd.mm.YYYY hh24:MI') AS peEnd, ort.ort_id AS ortId, ort.gem_id AS eGemId, verwaltungseinheit.bezeichnung AS eGem, probe.id_alt AS probeId FROM land.probe LEFT JOIN stammdaten.datenbasis ON (probe.datenbasis_id = datenbasis.id) LEFT JOIN stammdaten.probenart ON (probe.probenart_id = probenart.id) LEFT JOIN stammdaten.mess_stelle ON (probe.mst_id = stammdaten.mess_stelle.id) LEFT OUTER JOIN land.ortszuordnung ON ( probe.id = ortszuordnung.probe_id AND ortszuordnung.ortszuordnung_typ = 'E' ) LEFT OUTER JOIN stammdaten.ort ON (ortszuordnung.ort_id = ort.id) LEFT OUTER JOIN stammdaten.verwaltungseinheit ON (ort.gem_id = verwaltungseinheit.id) WHERE (probe.id_alt LIKE CASE WHEN :probeIdFilter = '' THEN '%' ELSE :probeIdFilter END) Abfrage der Proben mit Wildcardfilter für die Probe_id