11391 lines
383 KiB
PL/PgSQL
11391 lines
383 KiB
PL/PgSQL
/*
|
|
This is a 2018 version of the apflora schema https://github.com/barbalex/apf2/tree/master/sql/apflora - latest version likely has differing contents
|
|
|
|
We use it to test our metadata generation because it contains a good amount of db objects.
|
|
|
|
Custom roles and privileges where removed.
|
|
|
|
postgrest-with-postgresql-14 -f test/io/big_schema.sql psql
|
|
|
|
Has 12 functions:
|
|
|
|
select count(*) from information_schema.routines where specific_schema = 'apflora';
|
|
count
|
|
-------
|
|
12
|
|
|
|
Has 45 tables:
|
|
|
|
select count(*) from information_schema.tables where table_schema = 'apflora' and table_type = 'BASE TABLE';
|
|
count
|
|
-------
|
|
45
|
|
(1 row)
|
|
|
|
Has 281 views:
|
|
|
|
select count(*) from information_schema.views where table_schema = 'apflora';
|
|
count
|
|
-------
|
|
281
|
|
(1 row)
|
|
|
|
Has 45 pkcols where none of them is a composite primary key:
|
|
|
|
with pkcols as (
|
|
select kcu.table_schema,
|
|
kcu.table_name,
|
|
tco.constraint_name,
|
|
array_agg(kcu.column_name order by kcu.ordinal_position) as key_columns
|
|
from information_schema.table_constraints tco
|
|
join information_schema.key_column_usage kcu
|
|
on kcu.constraint_name = tco.constraint_name
|
|
and kcu.constraint_schema = tco.constraint_schema
|
|
and kcu.constraint_name = tco.constraint_name
|
|
where tco.constraint_type = 'PRIMARY KEY' and kcu.table_schema = 'apflora'
|
|
group by kcu.table_schema, kcu.table_name, tco.constraint_name
|
|
)
|
|
select count(*) from pkcols
|
|
where array_length(key_columns, 1) > 1;
|
|
count
|
|
-------
|
|
0
|
|
(1 row)
|
|
|
|
Has 50 foreign key relationships:
|
|
|
|
with fk_rel as (
|
|
select ns1.nspname as table_schema,
|
|
tab.relname as table_name,
|
|
ns2.nspname as foreign_table_schema,
|
|
other.relname as foreign_table_name,
|
|
conname as constraint_name,
|
|
column_info.cols as columns
|
|
from pg_constraint,
|
|
lateral (
|
|
select array_agg(row(cols.attname, refs.attname) order by cols.attnum) as cols
|
|
from ( select unnest(conkey) as col, unnest(confkey) as ref) k,
|
|
lateral (select * from pg_attribute where attrelid = conrelid and attnum = col) as cols,
|
|
lateral (select * from pg_attribute where attrelid = confrelid and attnum = ref) as refs) as column_info,
|
|
lateral (select * from pg_namespace where pg_namespace.oid = connamespace) as ns1,
|
|
lateral (select * from pg_class where pg_class.oid = conrelid) as tab,
|
|
lateral (select * from pg_class where pg_class.oid = confrelid) as other,
|
|
lateral (select * from pg_namespace where pg_namespace.oid = other.relnamespace) as ns2
|
|
where contype = 'f' and conparentid = 0
|
|
)
|
|
select count(*) from fk_rel;
|
|
|
|
count
|
|
-------
|
|
50
|
|
(1 row)
|
|
*/
|
|
|
|
SET statement_timeout = 0;
|
|
SET lock_timeout = 0;
|
|
SET idle_in_transaction_session_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SET check_function_bodies = false;
|
|
SET client_min_messages = warning;
|
|
SET row_security = off;
|
|
|
|
CREATE SCHEMA apflora;
|
|
|
|
CREATE SCHEMA auth;
|
|
|
|
CREATE SCHEMA request;
|
|
|
|
|
|
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
|
|
|
|
|
|
|
|
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
|
|
|
|
|
|
|
|
CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public;
|
|
|
|
|
|
|
|
COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions';
|
|
|
|
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
|
|
|
|
|
|
|
|
COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';
|
|
|
|
|
|
|
|
CREATE TYPE apflora.qk_pop_ohne_popber AS (
|
|
proj_id uuid,
|
|
ap_id uuid,
|
|
hw text,
|
|
url text[],
|
|
text text[]
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TYPE apflora.qk_pop_ohne_popmassnber AS (
|
|
proj_id uuid,
|
|
ap_id uuid,
|
|
hw text,
|
|
url text[],
|
|
text text[]
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TYPE apflora.qk_tpop_ohne_massnber AS (
|
|
proj_id uuid,
|
|
ap_id uuid,
|
|
hw text,
|
|
url text[],
|
|
text text[]
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TYPE apflora.qk_tpop_ohne_tpopber AS (
|
|
proj_id uuid,
|
|
ap_id uuid,
|
|
hw text,
|
|
url text[],
|
|
text text[]
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TYPE auth.jwt_token AS (
|
|
token text
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.ap_insert_add_apart() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
INSERT INTO
|
|
apflora.apart (ap_id, art_id)
|
|
VALUES (NEW.id, NEW.art_id);
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.ap_insert_add_idealbiotop() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
INSERT INTO
|
|
apflora.idealbiotop (ap_id)
|
|
VALUES (NEW.id);
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.correct_vornach_beginnap_stati(apid uuid) RETURNS void
|
|
LANGUAGE plpgsql SECURITY DEFINER
|
|
AS $_$
|
|
BEGIN
|
|
|
|
|
|
UPDATE apflora.tpop
|
|
WHERE id IN (
|
|
SELECT
|
|
tpop.id
|
|
FROM
|
|
apflora.tpop
|
|
INNER JOIN apflora.pop
|
|
ON apflora.tpop.pop_id = apflora.pop.id
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr IS NULL
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.pop
|
|
WHERE id IN (
|
|
SELECT
|
|
pop.id
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr IS NULL
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.tpop
|
|
WHERE id IN (
|
|
SELECT
|
|
tpop.id
|
|
FROM
|
|
apflora.tpop
|
|
INNER JOIN apflora.pop
|
|
ON apflora.tpop.pop_id = apflora.pop.id
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr <= apflora.tpop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.pop
|
|
WHERE id IN (
|
|
SELECT
|
|
pop.id
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr <= apflora.pop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.tpop
|
|
WHERE id IN (
|
|
SELECT
|
|
tpop.id
|
|
FROM
|
|
apflora.tpop
|
|
INNER JOIN apflora.pop
|
|
ON apflora.tpop.pop_id = apflora.pop.id
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr > apflora.tpop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.pop
|
|
WHERE id IN (
|
|
SELECT
|
|
pop.id
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr > apflora.pop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.tpop
|
|
WHERE id IN (
|
|
SELECT
|
|
tpop.id
|
|
FROM
|
|
apflora.tpop
|
|
INNER JOIN apflora.pop
|
|
ON apflora.tpop.pop_id = apflora.pop.id
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr IS NULL
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.pop
|
|
WHERE id IN (
|
|
SELECT
|
|
pop.id
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr IS NULL
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.tpop
|
|
WHERE id IN (
|
|
SELECT
|
|
tpop.id
|
|
FROM
|
|
apflora.tpop
|
|
INNER JOIN apflora.pop
|
|
ON apflora.tpop.pop_id = apflora.pop.id
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr <= apflora.tpop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.pop
|
|
WHERE id IN (
|
|
SELECT
|
|
pop.id
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr <= apflora.pop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.tpop
|
|
WHERE id IN (
|
|
SELECT
|
|
tpop.id
|
|
FROM
|
|
apflora.tpop
|
|
INNER JOIN apflora.pop
|
|
ON apflora.tpop.pop_id = apflora.pop.id
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr > apflora.tpop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
UPDATE apflora.pop
|
|
WHERE id IN (
|
|
SELECT
|
|
pop.id
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN apflora.ap
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
AND apflora.ap.start_jahr > apflora.pop.bekannt_seit
|
|
AND apflora.ap.id = $1
|
|
);
|
|
|
|
END;
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.login(username text, pass text) RETURNS auth.jwt_token
|
|
LANGUAGE plpgsql
|
|
AS $_$
|
|
declare
|
|
_role name;
|
|
result auth.jwt_token;
|
|
begin
|
|
select auth.user_role($1, $2) into _role;
|
|
if _role is null then
|
|
raise invalid_password using message = 'invalid user or password';
|
|
end if;
|
|
|
|
select auth.sign(
|
|
row_to_json(r), current_setting('app.jwt_secret')
|
|
) as token
|
|
from (
|
|
select _role as role,
|
|
$1 as username,
|
|
extract(epoch from now())::integer + 60*60*24*30 as exp
|
|
) r
|
|
into result;
|
|
return result;
|
|
end;
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.pop_max_one_massnber_per_year() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
IF
|
|
(
|
|
NEW.jahr > 0
|
|
AND NEW.jahr IN
|
|
(
|
|
SELECT
|
|
jahr
|
|
FROM
|
|
apflora.popmassnber
|
|
WHERE
|
|
pop_id = NEW.pop_id
|
|
AND id <> NEW.id
|
|
)
|
|
)
|
|
THEN
|
|
RAISE EXCEPTION 'Pro Population und Jahr darf maximal ein Massnahmenbericht erfasst werden';
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.pop_max_one_popber_per_year() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
IF
|
|
(
|
|
NEW.jahr > 0
|
|
AND NEW.jahr IN
|
|
(
|
|
SELECT
|
|
jahr
|
|
FROM
|
|
apflora.popber
|
|
WHERE
|
|
pop_id = NEW.pop_id
|
|
AND id <> NEW.id
|
|
)
|
|
)
|
|
THEN
|
|
RAISE EXCEPTION 'Pro Population und Jahr darf maximal ein Populationsbericht erfasst werden';
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.qk_pop_ohne_popber(apid uuid, berichtjahr integer) RETURNS SETOF apflora.qk_pop_ohne_popber
|
|
LANGUAGE sql STABLE
|
|
AS $_$
|
|
SELECT DISTINCT
|
|
apflora.ap.proj_id,
|
|
apflora.pop.ap_id,
|
|
'Population mit angesiedelten Teilpopulationen (vor dem Berichtjahr), die (im Berichtjahr) kontrolliert wurden, aber ohne Populations-Bericht (im Berichtjahr):' AS hw,
|
|
ARRAY['Projekte', '4635372c-431c-11e8-bb30-e77f6cdd35a6' , 'Aktionspläne', apflora.ap.id, 'Populationen', apflora.pop.id]::text[] AS "url",
|
|
ARRAY[concat('Population (Nr.): ', apflora.pop.nr)]::text[] AS text
|
|
FROM
|
|
apflora.ap
|
|
INNER JOIN
|
|
apflora.pop
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
apflora.pop.id IN (
|
|
SELECT
|
|
apflora.tpop.pop_id
|
|
FROM
|
|
apflora.tpop
|
|
WHERE
|
|
apflora.tpop.apber_relevant = 1
|
|
GROUP BY
|
|
apflora.tpop.pop_id
|
|
)
|
|
AND apflora.pop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpop.pop_id
|
|
FROM
|
|
apflora.tpop
|
|
WHERE
|
|
apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopmassn.tpop_id
|
|
FROM
|
|
apflora.tpopmassn
|
|
WHERE
|
|
apflora.tpopmassn.typ in (1, 2, 3)
|
|
AND apflora.tpopmassn.jahr < $2
|
|
)
|
|
AND apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopkontr.tpop_id
|
|
FROM
|
|
apflora.tpopkontr
|
|
WHERE
|
|
apflora.tpopkontr.typ NOT IN ('Zwischenziel', 'Ziel')
|
|
AND apflora.tpopkontr.jahr = $2
|
|
)
|
|
)
|
|
AND apflora.pop.id NOT IN (
|
|
SELECT DISTINCT
|
|
apflora.popber.pop_id
|
|
FROM
|
|
apflora.popber
|
|
WHERE
|
|
apflora.popber.jahr = $2
|
|
)
|
|
AND apflora.pop.ap_id = $1
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.qk_pop_ohne_popmassnber(apid uuid, berichtjahr integer) RETURNS SETOF apflora.qk_pop_ohne_popmassnber
|
|
LANGUAGE sql STABLE
|
|
AS $_$
|
|
SELECT DISTINCT
|
|
apflora.ap.proj_id,
|
|
apflora.pop.ap_id,
|
|
'Population mit angesiedelten Teilpopulationen (vor dem Berichtjahr), die (im Berichtjahr) kontrolliert wurden, aber ohne Massnahmen-Bericht (im Berichtjahr):' AS hw,
|
|
ARRAY['Projekte', '4635372c-431c-11e8-bb30-e77f6cdd35a6' , 'Aktionspläne', apflora.ap.id, 'Populationen', apflora.pop.id]::text[] AS "url",
|
|
ARRAY[concat('Population (Nr.): ', apflora.pop.nr)]::text[] AS text
|
|
FROM
|
|
apflora.ap
|
|
INNER JOIN
|
|
apflora.pop
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
apflora.pop.id IN (
|
|
SELECT
|
|
apflora.tpop.pop_id
|
|
FROM
|
|
apflora.tpop
|
|
WHERE
|
|
apflora.tpop.apber_relevant = 1
|
|
GROUP BY
|
|
apflora.tpop.pop_id
|
|
)
|
|
AND apflora.pop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpop.pop_id
|
|
FROM
|
|
apflora.tpop
|
|
WHERE
|
|
apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopmassn.tpop_id
|
|
FROM
|
|
apflora.tpopmassn
|
|
WHERE
|
|
apflora.tpopmassn.typ IN (1, 2, 3)
|
|
AND apflora.tpopmassn.jahr < $2
|
|
)
|
|
AND apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopkontr.tpop_id
|
|
FROM
|
|
apflora.tpopkontr
|
|
WHERE
|
|
apflora.tpopkontr.typ NOT IN ('Zwischenziel', 'Ziel')
|
|
AND apflora.tpopkontr.jahr = $2
|
|
)
|
|
)
|
|
AND apflora.pop.id NOT IN (
|
|
SELECT DISTINCT
|
|
apflora.popmassnber.pop_id
|
|
FROM
|
|
apflora.popmassnber
|
|
WHERE
|
|
apflora.popmassnber.jahr = $2
|
|
)
|
|
AND apflora.pop.ap_id = $1
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.qk_tpop_ohne_massnber(apid uuid, berichtjahr integer) RETURNS SETOF apflora.qk_tpop_ohne_massnber
|
|
LANGUAGE sql STABLE
|
|
AS $_$
|
|
SELECT DISTINCT
|
|
'4635372c-431c-11e8-bb30-e77f6cdd35a6'::uuid AS proj_id,
|
|
apflora.pop.ap_id,
|
|
'Teilpopulation mit Ansiedlung (vor dem Berichtjahr) und Kontrolle (im Berichtjahr) aber ohne Massnahmen-Bericht (im Berichtjahr):' AS hw,
|
|
ARRAY['Projekte', '4635372c-431c-11e8-bb30-e77f6cdd35a6' , 'Aktionspläne', apflora.pop.ap_id, 'Populationen', apflora.pop.id, 'Teil-Populationen', apflora.tpop.id]::text[] AS "url",
|
|
ARRAY[concat('Population (Nr.): ', apflora.pop.nr), concat('Teil-Population (Nr.): ', apflora.tpop.nr)]::text[] AS text
|
|
FROM
|
|
apflora.pop
|
|
INNER JOIN
|
|
apflora.tpop
|
|
ON apflora.pop.id = apflora.tpop.pop_id
|
|
WHERE
|
|
apflora.tpop.apber_relevant = 1
|
|
AND apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopmassn.tpop_id
|
|
FROM
|
|
apflora.tpopmassn
|
|
WHERE
|
|
apflora.tpopmassn.typ IN (1, 2, 3)
|
|
AND apflora.tpopmassn.jahr < $2
|
|
)
|
|
AND apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopkontr.tpop_id
|
|
FROM
|
|
apflora.tpopkontr
|
|
WHERE
|
|
apflora.tpopkontr.typ NOT IN ('Zwischenziel', 'Ziel')
|
|
AND apflora.tpopkontr.jahr = $2
|
|
)
|
|
AND apflora.tpop.id NOT IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopmassnber.tpop_id
|
|
FROM
|
|
apflora.tpopmassnber
|
|
WHERE
|
|
apflora.tpopmassnber.jahr = $2
|
|
)
|
|
AND apflora.pop.ap_id = $1
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.qk_tpop_ohne_tpopber(apid uuid, berichtjahr integer) RETURNS SETOF apflora.qk_tpop_ohne_tpopber
|
|
LANGUAGE sql STABLE
|
|
AS $_$
|
|
SELECT DISTINCT
|
|
apflora.ap.proj_id,
|
|
apflora.pop.ap_id,
|
|
'Teilpopulation mit Kontrolle (im Berichtjahr) aber ohne Teilpopulations-Bericht (im Berichtjahr):' AS hw,
|
|
ARRAY['Projekte', '4635372c-431c-11e8-bb30-e77f6cdd35a6' , 'Aktionspläne', apflora.ap.id, 'Populationen', apflora.pop.id, 'Teil-Populationen', apflora.tpop.id]::text[] AS "url",
|
|
ARRAY[concat('Population (Nr.): ', apflora.pop.nr), concat('Teil-Population (Nr.): ', apflora.tpop.nr)]::text[] AS text
|
|
FROM
|
|
apflora.ap
|
|
INNER JOIN
|
|
apflora.pop
|
|
INNER JOIN
|
|
apflora.tpop
|
|
ON apflora.pop.id = apflora.tpop.pop_id
|
|
ON apflora.pop.ap_id = apflora.ap.id
|
|
WHERE
|
|
apflora.tpop.apber_relevant = 1
|
|
AND apflora.tpop.id IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopkontr.tpop_id
|
|
FROM
|
|
apflora.tpopkontr
|
|
WHERE
|
|
apflora.tpopkontr.typ NOT IN ('Zwischenziel', 'Ziel')
|
|
AND apflora.tpopkontr.jahr = $2
|
|
)
|
|
AND apflora.tpop.id NOT IN (
|
|
SELECT DISTINCT
|
|
apflora.tpopber.tpop_id
|
|
FROM
|
|
apflora.tpopber
|
|
WHERE
|
|
apflora.tpopber.jahr = $2
|
|
)
|
|
AND apflora.pop.ap_id = $1
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.tpop_max_one_massnber_per_year() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
IF
|
|
(
|
|
NEW.jahr > 0
|
|
AND NEW.jahr IN
|
|
(
|
|
SELECT
|
|
jahr
|
|
FROM
|
|
apflora.tpopmassnber
|
|
WHERE
|
|
tpop_id = NEW.tpop_id
|
|
AND id <> NEW.id
|
|
)
|
|
)
|
|
THEN
|
|
RAISE EXCEPTION 'Pro Teilpopulation und Jahr darf maximal ein Massnahmenbericht erfasst werden';
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION apflora.tpop_max_one_tpopber_per_year() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
IF
|
|
(
|
|
NEW.jahr > 0
|
|
AND NEW.jahr IN
|
|
(
|
|
SELECT
|
|
jahr
|
|
FROM
|
|
apflora.tpopber
|
|
WHERE
|
|
tpop_id = NEW.tpop_id
|
|
AND id <> NEW.id
|
|
)
|
|
)
|
|
THEN
|
|
RAISE EXCEPTION 'Pro Teilpopulation und Jahr darf maximal ein Teilpopulationsbericht erfasst werden';
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.algorithm_sign(signables text, secret text, algorithm text) RETURNS text
|
|
LANGUAGE sql
|
|
AS $$
|
|
WITH
|
|
alg AS (
|
|
SELECT CASE
|
|
WHEN algorithm = 'HS256' THEN 'sha256'
|
|
WHEN algorithm = 'HS384' THEN 'sha384'
|
|
WHEN algorithm = 'HS512' THEN 'sha512'
|
|
SELECT auth.url_encode(hmac(signables, secret, alg.id)) FROM alg;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.check_role_exists() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
begin
|
|
if not exists (select 1 from pg_roles as r where r.rolname = new.role) then
|
|
raise foreign_key_violation using message =
|
|
'unknown database role: ' || new.role;
|
|
return null;
|
|
end if;
|
|
return new;
|
|
end
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.encrypt_pass() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
begin
|
|
if tg_op = 'INSERT' or new.pass <> old.pass then
|
|
new.pass = crypt(new.pass, gen_salt('bf'));
|
|
end if;
|
|
return new;
|
|
end
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.sign(payload json, secret text, algorithm text DEFAULT 'HS256'::text) RETURNS text
|
|
LANGUAGE sql
|
|
AS $$
|
|
WITH
|
|
header AS (
|
|
SELECT auth.url_encode(convert_to('{"alg":"' || algorithm || '","typ":"JWT"}', 'utf8')) AS data
|
|
),
|
|
payload AS (
|
|
SELECT auth.url_encode(convert_to(payload::text, 'utf8')) AS data
|
|
),
|
|
signables AS (
|
|
SELECT header.data || '.' || payload.data AS data FROM header, payload
|
|
)
|
|
SELECT
|
|
signables.data || '.' ||
|
|
auth.algorithm_sign(signables.data, secret, algorithm) FROM signables;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.url_decode(data text) RETURNS bytea
|
|
LANGUAGE sql
|
|
AS $$
|
|
WITH t AS (SELECT translate(data, '-_', '+/') AS trans),
|
|
SELECT decode(
|
|
t.trans ||
|
|
CASE WHEN rem.remainder > 0
|
|
THEN repeat('=', (4 - rem.remainder))
|
|
ELSE '' END,
|
|
'base64') FROM t, rem;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.url_encode(data bytea) RETURNS text
|
|
LANGUAGE sql
|
|
AS $$
|
|
SELECT translate(encode(data, 'base64'), E'+/=\n', '-_');
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.user_role(username text, pass text) RETURNS name
|
|
LANGUAGE plpgsql
|
|
AS $_$
|
|
begin
|
|
return (
|
|
select role from apflora.user
|
|
where apflora.user.name = $1
|
|
and apflora.user.pass = crypt($2, apflora.user.pass)
|
|
);
|
|
end;
|
|
$_$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION auth.verify(token text, secret text, algorithm text DEFAULT 'HS256'::text) RETURNS TABLE(header json, payload json, valid boolean)
|
|
LANGUAGE sql
|
|
AS $$
|
|
SELECT
|
|
convert_from(auth.url_decode(r[1]), 'utf8')::json AS header,
|
|
convert_from(auth.url_decode(r[2]), 'utf8')::json AS payload,
|
|
r[3] = auth.algorithm_sign(r[1] || '.' || r[2], secret, algorithm) AS valid
|
|
FROM regexp_split_to_array(token, '\.') r;
|
|
$$;
|
|
|
|
|
|
|
|
CREATE FUNCTION public.adresse_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ap_bearbstand_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ap_erfbeurtkrit_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ap_erfkrit_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ap_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ap_umsetzung_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.apber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.apberuebersicht_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.assozart_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.beob_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.beob_zuordnung_set_quelleid_on_insert() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
IF
|
|
length(NEW."NO_NOTE") > 10
|
|
THEN
|
|
NEW."QuelleId" = '1';
|
|
ELSE
|
|
NEW."QuelleId" = '2';
|
|
END IF;
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.beobzuordnung_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.current_user_name() RETURNS text
|
|
LANGUAGE sql STABLE SECURITY DEFINER
|
|
AS $$
|
|
select nullif(current_setting('jwt.claims.username', true), '')::text;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.dsql2(i_text text) RETURNS integer
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
Declare
|
|
v_val int;
|
|
BEGIN
|
|
execute i_text into v_val;
|
|
return v_val;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
COMMENT ON FUNCTION public.dsql2(i_text text) IS 'get number of rows per table';
|
|
|
|
|
|
|
|
CREATE FUNCTION public.erfkrit_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.idealbiotop_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.pop_entwicklung_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW."MutWer" = current_setting('request.jwt.claim.username', true);
|
|
NEW."MutWann" = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.pop_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.pop_status_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.popber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.popmassnber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.projekt_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tabelle_delete_notify() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
PERFORM pg_notify('tabelle_update', json_build_object('table', TG_TABLE_NAME, 'type', TG_OP, 'row', row_to_json(OLD))::text);
|
|
RETURN OLD;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tabelle_insert_notify() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
PERFORM pg_notify('tabelle_update', json_build_object('table', TG_TABLE_NAME, 'type', TG_OP, 'row', row_to_json(NEW))::text);
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tabelle_update_notify() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
PERFORM pg_notify('tabelle_update', json_build_object('table', TG_TABLE_NAME, 'type', TG_OP, 'row', row_to_json(NEW))::text);
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpop_apberrelevant_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpop_entwicklung_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpop_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopkontr_idbiotuebereinst_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopkontr_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopkontr_typ_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopkontrzaehl_einheit_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopkontrzaehl_methode_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopkontrzaehl_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopmassn_erfbeurt_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopmassn_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopmassn_typ_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.tpopmassnber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ziel_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.ziel_typ_werte_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION public.zielber_on_update_set_mut() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
NEW.changed_by = current_setting('request.jwt.claim.username', true);
|
|
NEW.changed = NOW();
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION request.cookie(c text) RETURNS text
|
|
LANGUAGE sql STABLE
|
|
AS $$
|
|
select request.env_var('request.cookie.' || c);
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION request.env_var(v text) RETURNS text
|
|
LANGUAGE sql STABLE
|
|
AS $$
|
|
select current_setting(v, true);
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION request.header(h text) RETURNS text
|
|
LANGUAGE sql STABLE
|
|
AS $$
|
|
select request.env_var('request.header.' || h);
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION request.jwt_claim(c text) RETURNS text
|
|
LANGUAGE sql STABLE
|
|
AS $$
|
|
select request.env_var('request.jwt.claim.' || c);
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION request.user_name() RETURNS text
|
|
LANGUAGE sql STABLE
|
|
AS $$
|
|
select case request.jwt_claim('username')
|
|
when '' then ''
|
|
else request.jwt_claim('username')::text
|
|
end
|
|
$$;
|
|
|
|
|
|
|
|
|
|
CREATE FUNCTION request.user_role() RETURNS text
|
|
LANGUAGE sql STABLE
|
|
AS $$
|
|
select request.jwt_claim('role')::text;
|
|
$$;
|
|
|
|
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_with_oids = false;
|
|
|
|
|
|
CREATE TABLE apflora._variable (
|
|
"KonstId" integer NOT NULL,
|
|
apber_jahr smallint,
|
|
"ApArtId" integer
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora._variable.apber_jahr IS 'Von Access aus ein Berichtsjahr wählen, um die Erstellung des Jahresberichts zu beschleunigen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora._variable."ApArtId" IS 'Von Access aus eine Art wählen, um views zu beschleunigen';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."_variable_KonstId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."_variable_KonstId_seq" OWNED BY apflora._variable."KonstId";
|
|
|
|
|
|
|
|
CREATE TABLE apflora.adresse (
|
|
id_old integer,
|
|
name text,
|
|
adresse text,
|
|
telefon text,
|
|
email text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
evab_id_person uuid,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
freiw_erfko boolean DEFAULT false,
|
|
evab_nachname character varying(50) DEFAULT NULL::character varying,
|
|
evab_vorname character varying(50) DEFAULT NULL::character varying,
|
|
evab_ort character varying(50) DEFAULT NULL::character varying
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.id_old IS 'Frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.name IS 'Vor- und Nachname';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.adresse IS 'Strasse, PLZ und Ort';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.telefon IS 'Telefonnummer';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.email IS 'Email';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.evab_id_person IS 'Personen werden in EvAB separat und mit eigener ID erfasst. Daher muss die passende Person hier gewählt werden';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.adresse.freiw_erfko IS 'Ist die Person freiwillige(r) Kontrolleur(in)';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."adresse_AdrId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."adresse_AdrId_seq" OWNED BY apflora.adresse.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ae_eigenschaften (
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
taxid integer,
|
|
familie character varying(100) DEFAULT NULL::character varying,
|
|
artname character varying(100) DEFAULT NULL::character varying,
|
|
namedeutsch character varying(100) DEFAULT NULL::character varying,
|
|
status character varying(47) DEFAULT NULL::character varying,
|
|
artwert smallint,
|
|
kefkontrolljahr smallint,
|
|
fnsjahresartjahr smallint,
|
|
kefart boolean DEFAULT false
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ae_eigenschaften.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ae_lrdelarze (
|
|
sort integer NOT NULL,
|
|
label character varying(50) DEFAULT NULL::character varying,
|
|
einheit character varying(255) DEFAULT NULL::character varying,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ae_lrdelarze.sort IS 'Primärschlüssel der Tabelle ArtenDb_LR';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ae_lrdelarze.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ap (
|
|
id_old integer,
|
|
bearbeitung integer,
|
|
start_jahr smallint,
|
|
umsetzung integer,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
art_id uuid,
|
|
bearbeiter uuid,
|
|
proj_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.id_old IS 'Frühere id. = SISF2-Nr';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.bearbeitung IS 'In welchem Bearbeitungsstand befindet sich der AP?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.start_jahr IS 'Wann wurde mit der Umsetzung des Aktionsplans begonnen?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.umsetzung IS 'In welchem Umsetzungsstand befindet sich der AP?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.art_id IS 'Namensgebende Art. Unter ihrem Namen bzw. Nummer werden Kontrollen an InfoFlora geliefert';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.bearbeiter IS 'Zugehöriger Bearbeiter. Fremdschlüssel aus der Tabelle "adresse"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap.proj_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "projekt"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."ap_ApArtId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."ap_ApArtId_seq" OWNED BY apflora.ap.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ap_bearbstand_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_bearbstand_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_bearbstand_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_bearbstand_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ap_erfbeurtkrit_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfbeurtkrit_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfbeurtkrit_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfbeurtkrit_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ap_erfkrit_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfkrit_werte.text IS 'Wie werden die durchgefuehrten Massnahmen beurteilt?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfkrit_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfkrit_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_erfkrit_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ap_umsetzung_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_umsetzung_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_umsetzung_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ap_umsetzung_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.apart (
|
|
id_old integer,
|
|
changed date,
|
|
changed_by character varying(20) DEFAULT NULL::character varying,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid,
|
|
art_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apart.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apart.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apart.changed_by IS 'Wer hat den Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apart.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apart.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.apber (
|
|
id_old integer,
|
|
jahr smallint,
|
|
situation text,
|
|
vergleich_vorjahr_gesamtziel text,
|
|
beurteilung integer,
|
|
veraenderung_zum_vorjahr character varying(2) DEFAULT NULL::character varying,
|
|
apber_analyse text,
|
|
konsequenzen_umsetzung text,
|
|
konsequenzen_erfolgskontrolle text,
|
|
biotope_neue text,
|
|
biotope_optimieren text,
|
|
massnahmen_optimieren text,
|
|
wirkung_auf_art text,
|
|
datum date,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
massnahmen_ap_bearb text,
|
|
massnahmen_planung_vs_ausfuehrung text,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid,
|
|
bearbeiter uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.jahr IS 'Für welches Jahr gilt der Bericht?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.situation IS 'Beschreibung der Situation im Berichtjahr. Seit 2017 nicht mehr verwendet: Früher wurden hier die Massnahmen aufgelistet';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.vergleich_vorjahr_gesamtziel IS 'Vergleich zu Vorjahr und Ausblick auf das Gesamtziel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.beurteilung IS 'Beurteilung des Erfolgs des Aktionsplans bisher';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.veraenderung_zum_vorjahr IS 'Veränderung gegenüber dem Vorjahr: plus heisst aufgestiegen, minus heisst abgestiegen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.apber_analyse IS 'Was sind die Ursachen fuer die beobachtete Entwicklung?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.konsequenzen_umsetzung IS 'Konsequenzen für die Umsetzung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.konsequenzen_erfolgskontrolle IS 'Konsequenzen für die Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.biotope_neue IS 'Bemerkungen zum Aussagebereich A: Grundmengen und getroffene Massnahmen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.biotope_optimieren IS 'Bemerkungen zum Aussagebereich B: Bestandeskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.massnahmen_optimieren IS 'Bemerkungen zum Aussagebereich C: Zwischenbilanz zur Wirkung von Massnahmen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.wirkung_auf_art IS 'Bemerkungen zum Aussagebereich D: Einschätzung der Wirkung des AP insgesamt pro Art';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.datum IS 'Datum der Nachführung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.massnahmen_ap_bearb IS 'Bemerkungen zum Aussagebereich C: Weitere Aktivitäten der Aktionsplan-Verantwortlichen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.massnahmen_planung_vs_ausfuehrung IS 'Bemerkungen zum Aussagebereich C: Vergleich Ausführung/Planung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apber.bearbeiter IS 'Zugehöriger Bearbeiter. Fremdschlüssel aus der Tabelle "adresse"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."apber_JBerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."apber_JBerId_seq" OWNED BY apflora.apber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.apberuebersicht (
|
|
jahr smallint,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id_old integer,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
proj_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.jahr IS 'Berichtsjahr. Zusammen mit proj_id eindeutig';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.bemerkungen IS 'Bemerkungen zur Artübersicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.apberuebersicht.proj_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "projekt"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora.apberuebersicht_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora.apberuebersicht_id_seq OWNED BY apflora.apberuebersicht.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.assozart (
|
|
id_old integer,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ae_id uuid,
|
|
ap_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.assozart.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.assozart.bemerkungen IS 'Bemerkungen zur Assoziation';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.assozart.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.assozart.changed_by IS 'Wer hat den Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.assozart.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.assozart.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."assozart_AaId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."assozart_AaId_seq" OWNED BY apflora.assozart.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.beob (
|
|
id_old integer,
|
|
id_field character varying(38) DEFAULT NULL::character varying,
|
|
art_id_old integer,
|
|
datum date,
|
|
autor character varying(100) DEFAULT NULL::character varying,
|
|
x integer,
|
|
y integer,
|
|
data jsonb,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
art_id uuid,
|
|
tpop_id uuid,
|
|
nicht_zuordnen boolean DEFAULT false,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
quelle_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.id_old IS 'Frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.art_id_old IS 'Frühere Art id (=SISF2-Nr)';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.tpop_id IS 'Dieser Teilpopulation wurde die Beobachtung zugeordnet. Fremdschlüssel aus der Tabelle "tpop"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.nicht_zuordnen IS 'Wird ja gesetzt, wenn eine Beobachtung keiner Teilpopulation zugeordnet werden kann. Sollte im Bemerkungsfeld begründet werden. In der Regel ist die Artbestimmung zweifelhaft. Oder die Beobachtung ist nicht (genau genug) lokalisierbar';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.bemerkungen IS 'Bemerkungen zur Zuordnung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.beob.quelle_id IS 'Zugehörige Beobachtungs-Quelle. Fremdschlüssel aus der Tabelle "beob_quelle_werte"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora.beob_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora.beob_id_seq OWNED BY apflora.beob.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.beob_quelle_werte (
|
|
id_old integer,
|
|
name character varying(255) DEFAULT NULL::character varying,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."beobart_BeobArtId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."beobart_BeobArtId_seq" OWNED BY apflora.apart.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ber (
|
|
id_old integer,
|
|
autor character varying(150) DEFAULT NULL::character varying,
|
|
jahr smallint,
|
|
titel text,
|
|
url text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.id_old IS 'Primärschlüssel der Tabelle "ber"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.autor IS 'Autor des Berichts';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.jahr IS 'Jahr der Publikation';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.titel IS 'Titel des Berichts';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.url IS 'Link zum Bericht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ber.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."ber_BerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."ber_BerId_seq" OWNED BY apflora.ber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.erfkrit (
|
|
id_old integer,
|
|
erfolg integer,
|
|
kriterien text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.erfolg IS 'Wie gut werden die Ziele erreicht? Auswahl aus der Tabelle "ap_erfkrit_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.kriterien IS 'Beschreibung der Kriterien für den Erfolg';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.erfkrit.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."erfkrit_ErfkritId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."erfkrit_ErfkritId_seq" OWNED BY apflora.erfkrit.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.evab_typologie (
|
|
"TYPO" character varying(9) NOT NULL,
|
|
"LEBENSRAUM" character varying(100),
|
|
"Alliance" character varying(100)
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE apflora.gemeinde (
|
|
name character varying(50) DEFAULT NULL::character varying,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE apflora.idealbiotop (
|
|
erstelldatum date,
|
|
hoehenlage text,
|
|
region text,
|
|
exposition text,
|
|
besonnung text,
|
|
hangneigung text,
|
|
boden_typ text,
|
|
boden_kalkgehalt text,
|
|
boden_durchlaessigkeit text,
|
|
boden_humus text,
|
|
boden_naehrstoffgehalt text,
|
|
wasserhaushalt text,
|
|
konkurrenz text,
|
|
moosschicht text,
|
|
krautschicht text,
|
|
strauchschicht text,
|
|
baumschicht text,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.erstelldatum IS 'Erstelldatum';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.hoehenlage IS 'Höhenlage';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.region IS 'Region';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.exposition IS 'Exposition';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.besonnung IS 'Besonnung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.hangneigung IS 'Hangneigung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.boden_typ IS 'Bodentyp';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.boden_kalkgehalt IS 'Kalkgehalt im Boden';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.boden_durchlaessigkeit IS 'Bodendurchlässigkeit';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.boden_humus IS 'Bodenhumusgehalt';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.boden_naehrstoffgehalt IS 'Bodennährstoffgehalt';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.wasserhaushalt IS 'Wasserhaushalt';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.konkurrenz IS 'Konkurrenz';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.moosschicht IS 'Moosschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.krautschicht IS 'Krautschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.strauchschicht IS 'Strauchschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.baumschicht IS 'Baumschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.bemerkungen IS 'Bemerkungen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.changed IS 'Wann wurde der Datensatz zuletzt verändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.changed_by IS 'Wer hat den Datensatz zuletzt verändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.idealbiotop.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.message (
|
|
id_old integer,
|
|
message text NOT NULL,
|
|
"time" timestamp without time zone DEFAULT now() NOT NULL,
|
|
active boolean DEFAULT true NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.message.message IS 'Nachricht an die Benutzer';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora.message_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora.message_id_seq OWNED BY apflora.message.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.pop (
|
|
id_old integer,
|
|
nr integer,
|
|
name character varying(150) DEFAULT NULL::character varying,
|
|
status integer,
|
|
status_unklar_begruendung text,
|
|
bekannt_seit smallint,
|
|
x integer,
|
|
y integer,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid,
|
|
status_unklar boolean DEFAULT false,
|
|
CONSTRAINT zulaessige_x_koordinate CHECK (((x IS NULL) OR ((x > 2485071) AND (x < 2828516)))),
|
|
CONSTRAINT zulaessige_y_koordinate CHECK (((y IS NULL) OR ((y > 1075346) AND (y < 1299942))))
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.nr IS 'Nummer der Population';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.name IS 'Bezeichnung der Population';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.status IS 'Herkunft der Population: autochthon oder angesiedelt? Auswahl aus der Tabelle "pop_status_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.status_unklar_begruendung IS 'Begründung, wieso die Herkunft unklar ist';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.bekannt_seit IS 'Seit wann ist die Population bekannt?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.x IS 'Wird in der Regel von einer Teilpopulation übernommen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.y IS 'Wird in der Regel von einer Teilpopulation übernommen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.id IS 'Primärschlüssel der Tabelle "pop"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop.status_unklar IS 'true = die Herkunft der Population ist unklar';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."pop_PopId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."pop_PopId_seq" OWNED BY apflora.pop.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.pop_status_werte (
|
|
code integer,
|
|
text character varying(60) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop_status_werte.text IS 'Beschreibung der Herkunft';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop_status_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop_status_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.pop_status_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.popber (
|
|
id_old integer,
|
|
jahr smallint,
|
|
entwicklung integer,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
pop_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.jahr IS 'Für welches Jahr gilt der Bericht?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.entwicklung IS 'Beurteilung der Populationsentwicklung: Auswahl aus Tabelle "tpop_entwicklung_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.bemerkungen IS 'Bemerkungen zur Beurteilung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popber.pop_id IS 'Zugehörige Population. Fremdschlüssel aus der Tabelle "pop"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."popber_PopBerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."popber_PopBerId_seq" OWNED BY apflora.popber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.popmassnber (
|
|
id_old integer,
|
|
jahr smallint,
|
|
beurteilung integer,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
pop_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.jahr IS 'Für welches Jahr gilt der Bericht?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.beurteilung IS 'Wie wird die Wirkung aller im Rahmen des AP durchgeführten Massnahmen beurteilt?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.bemerkungen IS 'Bemerkungen zur Beurteilung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.popmassnber.pop_id IS 'Zugehörige Population. Fremdschlüssel aus der Tabelle "pop"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."popmassnber_PopMassnBerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."popmassnber_PopMassnBerId_seq" OWNED BY apflora.popmassnber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.projekt (
|
|
id_old integer,
|
|
name character varying(150) DEFAULT NULL::character varying,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.projekt.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.projekt.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."projekt_ProjId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."projekt_ProjId_seq" OWNED BY apflora.projekt.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpop (
|
|
id_old integer,
|
|
nr integer,
|
|
gemeinde text,
|
|
flurname text,
|
|
x integer,
|
|
y integer,
|
|
radius smallint,
|
|
hoehe smallint,
|
|
exposition character varying(50) DEFAULT NULL::character varying,
|
|
klima character varying(50) DEFAULT NULL::character varying,
|
|
neigung character varying(50) DEFAULT NULL::character varying,
|
|
beschreibung text,
|
|
kataster_nr text,
|
|
status integer,
|
|
status_unklar_grund text,
|
|
apber_relevant integer,
|
|
bekannt_seit smallint,
|
|
eigentuemer text,
|
|
kontakt text,
|
|
nutzungszone text,
|
|
bewirtschafter text,
|
|
bewirtschaftung text,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
pop_id uuid,
|
|
status_unklar boolean DEFAULT false,
|
|
CONSTRAINT zulaessige_x_koordinate CHECK (((x IS NULL) OR ((x > 2485071) AND (x < 2828516)))),
|
|
CONSTRAINT zulaessige_y_koordinate CHECK (((y IS NULL) OR ((y > 1075346) AND (y < 1299942))))
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.nr IS 'Nummer der Teilpopulation';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.gemeinde IS 'Gemeinde';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.flurname IS 'Flurname';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.x IS 'X-Koordinate';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.y IS 'Y-Koordinate';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.radius IS 'Radius der Teilpopulation (m)';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.hoehe IS 'Höhe über Meer (m)';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.exposition IS 'Exposition / Besonnung des Standorts';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.klima IS 'Klima des Standorts';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.neigung IS 'Hangneigung des Standorts';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.beschreibung IS 'Beschreibung der Fläche';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.kataster_nr IS 'Kataster-Nummer';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.status IS 'Herkunft der Teilpopulation. Auswahl aus Tabelle "pop_status_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.status_unklar_grund IS 'Wieso ist der Status unklar?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.apber_relevant IS 'Ist die Teilpopulation für den AP-Bericht relevant? Auswahl aus der Tabelle "tpop_apberrelevant_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.bekannt_seit IS 'Seit wann ist die Teilpopulation bekannt?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.eigentuemer IS 'EigentümerIn';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.kontakt IS 'Kontaktperson vor Ort';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.nutzungszone IS 'Nutzungszone';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.bewirtschafter IS 'Wer bewirtschaftet die Fläche?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.bewirtschaftung IS 'Wie wird die Fläche bewirtschaftet?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.bemerkungen IS 'Bemerkungen zur Teilpopulation';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.changed IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.pop_id IS 'Zugehörige Population. Fremdschlüssel aus der Tabelle "pop"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop.status_unklar IS 'Ist der Status der Teilpopulation unklar? (es bestehen keine glaubwuerdigen Beboachtungen)';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."tpop_TPopId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."tpop_TPopId_seq" OWNED BY apflora.tpop.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpop_apberrelevant_werte (
|
|
code integer,
|
|
text text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop_apberrelevant_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop_apberrelevant_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop_apberrelevant_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpop_entwicklung_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop_entwicklung_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop_entwicklung_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpop_entwicklung_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopber (
|
|
id_old integer,
|
|
jahr smallint,
|
|
entwicklung integer,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
tpop_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.jahr IS 'Für welches Jahr gilt der Bericht?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.entwicklung IS 'Beurteilung der Populationsentwicklung: Auswahl aus Tabelle "tpop_entwicklung_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.bemerkungen IS 'Bemerkungen zur Beurteilung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopber.tpop_id IS 'Zugehörige Teilpopulation. Fremdschlüssel der Tabelle "tpop"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."tpopber_TPopBerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."tpopber_TPopBerId_seq" OWNED BY apflora.tpopber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopkontr (
|
|
id_old integer,
|
|
typ character varying(50) DEFAULT NULL::character varying,
|
|
datum date,
|
|
jahr smallint,
|
|
jungpflanzen_anzahl integer,
|
|
vitalitaet text,
|
|
ueberlebensrate smallint,
|
|
entwicklung integer,
|
|
ursachen text,
|
|
erfolgsbeurteilung text,
|
|
umsetzung_aendern text,
|
|
kontrolle_aendern text,
|
|
bemerkungen text,
|
|
lr_delarze text,
|
|
flaeche integer,
|
|
lr_umgebung_delarze text,
|
|
vegetationstyp character varying(100) DEFAULT NULL::character varying,
|
|
konkurrenz character varying(100) DEFAULT NULL::character varying,
|
|
moosschicht character varying(100) DEFAULT NULL::character varying,
|
|
krautschicht character varying(100) DEFAULT NULL::character varying,
|
|
strauchschicht text,
|
|
baumschicht character varying(100) DEFAULT NULL::character varying,
|
|
boden_typ text,
|
|
boden_kalkgehalt character varying(100) DEFAULT NULL::character varying,
|
|
boden_durchlaessigkeit character varying(100) DEFAULT NULL::character varying,
|
|
boden_humus character varying(100) DEFAULT NULL::character varying,
|
|
boden_naehrstoffgehalt character varying(100) DEFAULT NULL::character varying,
|
|
boden_abtrag text,
|
|
wasserhaushalt text,
|
|
idealbiotop_uebereinstimmung integer,
|
|
handlungsbedarf text,
|
|
flaeche_ueberprueft integer,
|
|
deckung_vegetation smallint,
|
|
deckung_nackter_boden smallint,
|
|
deckung_ap_art smallint,
|
|
vegetationshoehe_maximum smallint,
|
|
vegetationshoehe_mittel smallint,
|
|
gefaehrdung text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
zeit_id uuid DEFAULT public.uuid_generate_v1mc(),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
tpop_id uuid,
|
|
bearbeiter uuid,
|
|
plan_vorhanden boolean DEFAULT false,
|
|
jungpflanzen_vorhanden boolean
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.typ IS 'Typ der Kontrolle. Auswahl aus Tabelle "tpopkontr_typ_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.datum IS 'Wann wurde kontrolliert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.jahr IS 'In welchem Jahr wurde kontrolliert? Für welches Jahr gilt die Beschreibung?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.jungpflanzen_anzahl IS 'Anzahl Jungpflanzen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.vitalitaet IS 'Vitalität der Pflanzen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.ueberlebensrate IS 'Überlebensrate in Prozent';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.entwicklung IS 'Entwicklung des Bestandes. Auswahl aus Tabelle "tpop_entwicklung_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.ursachen IS 'Ursachen der Entwicklung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.erfolgsbeurteilung IS 'Erfolgsbeurteilung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.umsetzung_aendern IS 'Vorschlag für Änderung der Umsetzung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.kontrolle_aendern IS 'Vorschlag für Änderung der Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.bemerkungen IS 'Bemerkungen zur Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.lr_delarze IS 'Lebensraumtyp nach Delarze';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.flaeche IS 'Fläche der Teilpopulation';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.lr_umgebung_delarze IS 'Lebensraumtyp der direkt angrenzenden Umgebung (nach Delarze)';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.vegetationstyp IS 'Vegetationstyp';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.konkurrenz IS 'Konkurrenz';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.moosschicht IS 'Moosschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.krautschicht IS 'Krautschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.strauchschicht IS 'Strauchschicht, ehemals Verbuschung (%)';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.baumschicht IS 'Baumschicht';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.boden_typ IS 'Bodentyp';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.boden_kalkgehalt IS 'Kalkgehalt des Bodens';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.boden_durchlaessigkeit IS 'Durchlässigkeit des Bodens';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.boden_humus IS 'Humusgehalt des Bodens';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.boden_naehrstoffgehalt IS 'Nährstoffgehalt des Bodens';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.boden_abtrag IS 'Oberbodenabtrag';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.wasserhaushalt IS 'Wasserhaushalt';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.idealbiotop_uebereinstimmung IS 'Übereinstimmung mit dem Idealbiotop';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.handlungsbedarf IS 'Handlungsbedarf bezüglich Biotop';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.flaeche_ueberprueft IS 'Überprüfte Fläche in m2. Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.deckung_vegetation IS 'Von Pflanzen, Streu oder Moos bedeckter Boden (%). Nur für Freiwilligen-Erfolgskontrolle. Nur bis 2012 erfasst.';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.deckung_nackter_boden IS 'Flächenanteil nackter Boden (%). Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.deckung_ap_art IS 'Flächenanteil der überprüften Pflanzenart (%). Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.vegetationshoehe_maximum IS 'Maximale Vegetationshöhe in cm. Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.vegetationshoehe_mittel IS 'Mittlere Vegetationshöhe in cm. Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.gefaehrdung IS 'Gefährdung. Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.zeit_id IS 'GUID für den Export von Zeiten in EvAB';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.id IS 'Primärschlüssel. Wird u.a. verwendet für die Identifikation der Beobachtung im nationalen Beobachtungs-Daten-Kreislauf';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.tpop_id IS 'Zugehörige Teilpopulation. Fremdschlüssel der Tabelle "tpop"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.bearbeiter IS 'Zugehöriger Bearbeiter. Fremdschlüssel aus der Tabelle "adresse"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.plan_vorhanden IS 'Fläche / Wuchsort auf Plan eingezeichnet? Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr.jungpflanzen_vorhanden IS 'Gibt es neben alten Pflanzen auch junge? Nur für Freiwilligen-Erfolgskontrolle';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."tpopkontr_TPopKontrId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."tpopkontr_TPopKontrId_seq" OWNED BY apflora.tpopkontr.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopkontr_idbiotuebereinst_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr_idbiotuebereinst_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr_idbiotuebereinst_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr_idbiotuebereinst_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopkontr_typ_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr_typ_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr_typ_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontr_typ_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopkontrzaehl (
|
|
id_old integer,
|
|
anzahl integer,
|
|
einheit integer,
|
|
methode integer,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
tpopkontr_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl.anzahl IS 'Anzahl Zaehleinheiten';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl.einheit IS 'Verwendete Zaehleinheit. Auswahl aus Tabelle "tpopkontrzaehl_einheit_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl.methode IS 'Verwendete Methodik. Auswahl aus Tabelle "tpopkontrzaehl_methode_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."tpopkontrzaehl_TPopKontrZaehlId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."tpopkontrzaehl_TPopKontrZaehlId_seq" OWNED BY apflora.tpopkontrzaehl.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopkontrzaehl_einheit_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl_einheit_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl_einheit_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl_einheit_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopkontrzaehl_methode_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl_methode_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl_methode_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopkontrzaehl_methode_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopmassn (
|
|
id_old integer,
|
|
typ integer,
|
|
beschreibung text,
|
|
jahr smallint,
|
|
datum date,
|
|
bemerkungen text,
|
|
plan_bezeichnung text,
|
|
flaeche integer,
|
|
markierung text,
|
|
anz_triebe integer,
|
|
anz_pflanzen integer,
|
|
anz_pflanzstellen integer,
|
|
wirtspflanze text,
|
|
herkunft_pop text,
|
|
sammeldatum character varying(50) DEFAULT NULL::character varying,
|
|
form text,
|
|
pflanzanordnung text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
tpop_id uuid,
|
|
bearbeiter uuid,
|
|
plan_vorhanden boolean DEFAULT false
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.typ IS 'Typ der Massnahme. Auswahl aus Tabelle "tpopmassn_typ_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.beschreibung IS 'Was wurde gemacht? V.a. für Typ "Spezial"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.jahr IS 'Jahr, in dem die Massnahme durchgeführt wurde';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.datum IS 'Datum, an dem die Massnahme durchgeführt wurde';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.bemerkungen IS 'Bemerkungen zur Massnahme';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.plan_bezeichnung IS 'Bezeichnung auf dem Plan';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.flaeche IS 'Fläche der Massnahme bzw. Teilpopulation (m2)';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.markierung IS 'Markierung der Massnahme bzw. Teilpopulation';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.anz_triebe IS 'Anzahl angesiedelte Triebe';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.anz_pflanzen IS 'Anzahl angesiedelte Pflanzen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.anz_pflanzstellen IS 'Anzahl Töpfe/Pflanzstellen';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.wirtspflanze IS 'Wirtspflanze';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.herkunft_pop IS 'Aus welcher Population stammt das Pflanzenmaterial?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.sammeldatum IS 'Datum, an dem die angesiedelten Pflanzen gesammelt wurden';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.form IS 'Form, Grösse der Ansiedlung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.pflanzanordnung IS 'Anordnung der Pflanzung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.tpop_id IS 'Zugehörige Teilpopulation. Fremdschlüssel der Tabelle "tpop"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.bearbeiter IS 'Zugehöriger Bearbeiter. Fremdschlüssel aus der Tabelle "adresse"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn.plan_vorhanden IS 'Existiert ein Plan?';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."tpopmassn_TPopMassnId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."tpopmassn_TPopMassnId_seq" OWNED BY apflora.tpopmassn.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopmassn_erfbeurt_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_erfbeurt_werte.text IS 'Wie werden die durchgefuehrten Massnahmen beurteilt?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_erfbeurt_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_erfbeurt_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_erfbeurt_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopmassn_typ_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
ansiedlung smallint NOT NULL,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_typ_werte.ansiedlung IS 'Handelt es sich um eine Ansiedlung?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_typ_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_typ_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassn_typ_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.tpopmassnber (
|
|
id_old integer,
|
|
jahr smallint,
|
|
beurteilung integer,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
tpop_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.jahr IS 'Jahr, für den der Bericht gilt';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.beurteilung IS 'Beurteilung des Erfolgs. Auswahl aus Tabelle "tpopmassn_erfbeurt_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.bemerkungen IS 'Bemerkungen zur Beurteilung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.tpopmassnber.tpop_id IS 'Zugehörige Teilpopulation. Fremdschlüssel der Tabelle "tpop"';
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."tpopmassnber_TPopMassnBerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."tpopmassnber_TPopMassnBerId_seq" OWNED BY apflora.tpopmassnber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE apflora."user" (
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
name text,
|
|
email text,
|
|
role name,
|
|
pass text,
|
|
CONSTRAINT proper_email CHECK ((email ~* '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$'::text)),
|
|
CONSTRAINT user_pass_check CHECK ((length(pass) > 5)),
|
|
CONSTRAINT user_role_check CHECK ((length((role)::text) < 512))
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE apflora.usermessage (
|
|
user_name character varying(30) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
message_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.usermessage.message_id IS 'Zugehörige Nachricht. Fremdschlüssel aus der Tabelle "message"';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ziel (
|
|
id_old integer,
|
|
typ integer,
|
|
jahr smallint DEFAULT 1 NOT NULL,
|
|
bezeichnung text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ap_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.typ IS 'Typ des Ziels. Z.B. Zwischenziel, Gesamtziel. Auswahl aus Tabelle "ziel_typ_werte"';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.jahr IS 'In welchem Jahr soll das Ziel erreicht werden?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.bezeichnung IS 'Textliche Beschreibung des Ziels';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel.ap_id IS 'Zugehöriger Aktionsplan. Fremdschlüssel aus der Tabelle "ap"';
|
|
|
|
|
|
|
|
CREATE TABLE apflora.ziel_typ_werte (
|
|
code integer,
|
|
text character varying(50) DEFAULT NULL::character varying,
|
|
sort smallint,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true) NOT NULL,
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel_typ_werte.text IS 'Beschreibung des Ziels';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel_typ_werte.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel_typ_werte.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.ziel_typ_werte.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_abper_ziel AS
|
|
SELECT ziel.id_old,
|
|
ziel.typ,
|
|
ziel.jahr,
|
|
ziel.bezeichnung,
|
|
ziel.changed,
|
|
ziel.changed_by,
|
|
ziel.id,
|
|
ziel.ap_id,
|
|
ziel_typ_werte.text AS typ_decodiert
|
|
FROM (apflora._variable
|
|
JOIN (apflora.ziel
|
|
JOIN apflora.ziel_typ_werte ON ((ziel.typ = ziel_typ_werte.code))) ON ((_variable.apber_jahr = ziel.jahr)))
|
|
WHERE (ziel.typ = ANY (ARRAY[1, 2, 1170775556]))
|
|
ORDER BY ziel_typ_werte.sort, ziel.bezeichnung;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS bearbeitung,
|
|
ap.start_jahr,
|
|
ap_umsetzung_werte.text AS umsetzung,
|
|
adresse.name AS bearbeiter,
|
|
ap.changed,
|
|
ap.changed_by
|
|
FROM ((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_anzkontr AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS bearbeitung,
|
|
ap.start_jahr,
|
|
ap_umsetzung_werte.text AS umsetzung,
|
|
count(tpopkontr.id) AS anzahl_kontrollen
|
|
FROM ((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN ((apflora.pop
|
|
LEFT JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
LEFT JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
GROUP BY ap.id, ae_eigenschaften.artname, ap_bearbstand_werte.text, ap.start_jahr, ap_umsetzung_werte.text
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_anzkontrinjahr AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
tpopkontr.id AS tpopkontr_id,
|
|
tpopkontr.jahr AS tpopkontr_jahr
|
|
FROM ((apflora.ap
|
|
JOIN apflora.ae_eigenschaften ON ((ap.art_id = ae_eigenschaften.id)))
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))
|
|
GROUP BY ap.id, ae_eigenschaften.artname, tpopkontr.id, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_anzmassn AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS bearbeitung,
|
|
ap.start_jahr,
|
|
ap_umsetzung_werte.text AS umsetzung,
|
|
count(tpopmassn.id) AS anzahl_massnahmen
|
|
FROM ((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN ((apflora.pop
|
|
LEFT JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
LEFT JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
GROUP BY ap.id, ae_eigenschaften.artname, ap_bearbstand_werte.text, ap.start_jahr, ap_umsetzung_werte.text
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_anzmassnprojahr0 AS
|
|
SELECT ap.id,
|
|
tpopmassn.jahr,
|
|
count(tpopmassn.id) AS "AnzahlvonTPopMassnId"
|
|
FROM (apflora.ap
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY ap.id, tpopmassn.jahr
|
|
HAVING (tpopmassn.jahr IS NOT NULL)
|
|
ORDER BY ap.id, tpopmassn.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_massn_jahre AS
|
|
SELECT tpopmassn.jahr
|
|
FROM apflora.tpopmassn
|
|
GROUP BY tpopmassn.jahr
|
|
HAVING ((tpopmassn.jahr >= 1900) AND (tpopmassn.jahr <= 2100))
|
|
ORDER BY tpopmassn.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_massnjahre AS
|
|
SELECT ap.id,
|
|
v_massn_jahre.jahr
|
|
FROM apflora.ap,
|
|
apflora.v_massn_jahre
|
|
WHERE (ap.bearbeitung < 4)
|
|
ORDER BY ap.id, v_massn_jahre.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_anzmassnprojahr AS
|
|
SELECT v_ap_massnjahre.id,
|
|
v_ap_massnjahre.jahr,
|
|
COALESCE(v_ap_anzmassnprojahr0."AnzahlvonTPopMassnId", (0)::bigint) AS anzahl_massnahmen
|
|
FROM (apflora.v_ap_massnjahre
|
|
LEFT JOIN apflora.v_ap_anzmassnprojahr0 ON (((v_ap_massnjahre.jahr = v_ap_anzmassnprojahr0.jahr) AND (v_ap_massnjahre.id = v_ap_anzmassnprojahr0.id))))
|
|
ORDER BY v_ap_massnjahre.id, v_ap_massnjahre.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_anzmassnbisjahr AS
|
|
SELECT v_ap_massnjahre.id,
|
|
v_ap_massnjahre.jahr,
|
|
sum(v_ap_anzmassnprojahr.anzahl_massnahmen) AS anzahl_massnahmen
|
|
FROM (apflora.v_ap_massnjahre
|
|
JOIN apflora.v_ap_anzmassnprojahr ON ((v_ap_massnjahre.id = v_ap_anzmassnprojahr.id)))
|
|
WHERE (v_ap_anzmassnprojahr.jahr <= v_ap_massnjahre.jahr)
|
|
GROUP BY v_ap_massnjahre.id, v_ap_massnjahre.jahr
|
|
ORDER BY v_ap_massnjahre.id, v_ap_massnjahre.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_apberrelevant AS
|
|
SELECT ap.id
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY ap.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_apberundmassn AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS bearbeitung,
|
|
ap.start_jahr,
|
|
ap_umsetzung_werte.text AS umsetzung,
|
|
adresse.name AS bearbeiter,
|
|
ae_eigenschaften.artwert,
|
|
v_ap_anzmassnprojahr.jahr AS massn_jahr,
|
|
v_ap_anzmassnprojahr.anzahl_massnahmen AS massn_anzahl,
|
|
v_ap_anzmassnbisjahr.anzahl_massnahmen AS massn_anzahl_bisher,
|
|
CASE
|
|
WHEN (apber.jahr > 0) THEN 'ja'::text
|
|
ELSE 'nein'::text
|
|
END AS bericht_erstellt
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN ((((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
JOIN (apflora.v_ap_anzmassnprojahr
|
|
JOIN (apflora.v_ap_anzmassnbisjahr
|
|
LEFT JOIN apflora.apber ON (((v_ap_anzmassnbisjahr.jahr = apber.jahr) AND (v_ap_anzmassnbisjahr.id = apber.ap_id)))) ON (((v_ap_anzmassnprojahr.jahr = v_ap_anzmassnbisjahr.jahr) AND (v_ap_anzmassnprojahr.id = v_ap_anzmassnbisjahr.id)))) ON ((ap.id = v_ap_anzmassnprojahr.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
ORDER BY ae_eigenschaften.artname, v_ap_anzmassnprojahr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_mitmassninjahr0 AS
|
|
SELECT ae_eigenschaften.artname,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpopmassn.jahr,
|
|
tpopmassn_typ_werte.text AS typ,
|
|
tpopmassn.beschreibung,
|
|
tpopmassn.datum,
|
|
adresse.name AS bearbeiter,
|
|
tpopmassn.bemerkungen,
|
|
tpopmassn.plan_vorhanden,
|
|
tpopmassn.plan_bezeichnung,
|
|
tpopmassn.flaeche,
|
|
tpopmassn.markierung,
|
|
tpopmassn.anz_triebe,
|
|
tpopmassn.anz_pflanzen,
|
|
tpopmassn.anz_pflanzstellen,
|
|
tpopmassn.wirtspflanze,
|
|
tpopmassn.herkunft_pop,
|
|
tpopmassn.sammeldatum,
|
|
tpopmassn.form,
|
|
tpopmassn.pflanzanordnung
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN ((apflora.tpopmassn
|
|
JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_ohnepop AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS bearbeitung,
|
|
ap.start_jahr,
|
|
ap_umsetzung_werte.text AS umsetzung,
|
|
adresse.name AS bearbeiter,
|
|
pop.id AS pop_id
|
|
FROM (((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE (pop.id IS NULL)
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ap_tpopmassnjahr0 AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
tpopmassn.id AS tpopmassn_id,
|
|
tpopmassn.jahr AS tpopmassn_jahr
|
|
FROM ((apflora.ap
|
|
JOIN apflora.ae_eigenschaften ON ((ap.art_id = ae_eigenschaften.id)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))
|
|
GROUP BY ap.id, ae_eigenschaften.artname, tpopmassn.id, tpopmassn.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apbeob AS
|
|
SELECT beob.id_old,
|
|
beob.id_field,
|
|
beob.art_id_old,
|
|
beob.datum,
|
|
beob.autor,
|
|
beob.x,
|
|
beob.y,
|
|
beob.data,
|
|
beob.id,
|
|
beob.art_id,
|
|
beob.tpop_id,
|
|
beob.nicht_zuordnen,
|
|
beob.bemerkungen,
|
|
beob.changed,
|
|
beob.changed_by,
|
|
beob.quelle_id,
|
|
apart.ap_id,
|
|
beob_quelle_werte.name AS quelle
|
|
FROM ((apflora.beob
|
|
JOIN apflora.apart ON ((apart.art_id = beob.art_id)))
|
|
JOIN apflora.beob_quelle_werte ON ((beob_quelle_werte.id = beob.quelle_id)))
|
|
ORDER BY beob.datum DESC;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber AS
|
|
SELECT ae_eigenschaften.artname,
|
|
apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ap_erfkrit_werte.text AS beurteilung_decodiert,
|
|
adresse.name AS bearbeiter_decodiert
|
|
FROM ((apflora.ap
|
|
JOIN apflora.ae_eigenschaften ON ((ap.art_id = ae_eigenschaften.id)))
|
|
JOIN ((apflora.apber
|
|
LEFT JOIN apflora.ap_erfkrit_werte ON ((apber.beurteilung = ap_erfkrit_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((apber.bearbeiter = adresse.id))) ON ((ap.id = apber.ap_id)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a10lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE (pop.status = 300)
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a10ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE (tpop.status = 300)
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a2lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((pop.status = 100) AND (tpop.apber_relevant = 1))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a2ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((pop.status <> 300) AND (tpop.status = 100) AND (tpop.apber_relevant = 1))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a3lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.ap ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = ANY (ARRAY[200, 210])) AND (tpop.apber_relevant = 1) AND ((pop.bekannt_seit < ap.start_jahr) OR (pop.bekannt_seit IS NULL) OR (ap.start_jahr IS NULL)))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a3ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status <> 300) AND (tpop.status = ANY (ARRAY[200, 210])) AND (tpop.apber_relevant = 1) AND ((tpop.bekannt_seit < ap.start_jahr) OR (tpop.bekannt_seit IS NULL) OR (ap.start_jahr IS NULL)))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a4lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.ap ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = ANY (ARRAY[200, 210])) AND (tpop.apber_relevant = 1) AND (pop.bekannt_seit >= ap.start_jahr))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a4ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status <> 300) AND (tpop.status = ANY (ARRAY[200, 210])) AND (tpop.apber_relevant = 1) AND (tpop.bekannt_seit >= ap.start_jahr))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a5lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((pop.status = 201) AND (tpop.apber_relevant = 1))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a5ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.status = 201) AND (tpop.apber_relevant = 1))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a8lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.ap ON ((pop.ap_id = ap.id)))
|
|
WHERE (((pop.status = 101) OR ((pop.status = 211) AND ((pop.bekannt_seit < ap.start_jahr) OR (pop.bekannt_seit IS NULL) OR (ap.start_jahr IS NULL)))) AND (tpop.apber_relevant = 1))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a8ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.ap ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status <> 300) AND ((tpop.status = 101) OR ((tpop.status = 211) AND ((tpop.bekannt_seit < ap.start_jahr) OR (tpop.bekannt_seit IS NULL) OR (ap.start_jahr IS NULL)))) AND (tpop.apber_relevant = 1))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a9lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.ap ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = ANY (ARRAY[202, 211])) AND (tpop.apber_relevant = 1) AND (pop.bekannt_seit >= ap.start_jahr))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_a9ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.ap ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status <> 300) AND (tpop.status = ANY (ARRAY[202, 211])) AND (tpop.apber_relevant = 1) AND (tpop.bekannt_seit >= ap.start_jahr))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b1lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora._variable ON ((popber.jahr = _variable.apber_jahr))) ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b1ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora._variable ON ((tpopber.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b1rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM apflora._variable,
|
|
((apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300) AND (popber.jahr <= _variable.apber_jahr) AND (popber.entwicklung = ANY (ARRAY[1, 2, 3, 4, 8])))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b1rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpopber.tpop_id
|
|
FROM apflora._variable,
|
|
(apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300) AND (tpopber.jahr <= _variable.apber_jahr) AND (tpopber.entwicklung = ANY (ARRAY[1, 2, 3, 4, 8])))
|
|
GROUP BY pop.ap_id, tpopber.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b2lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora._variable ON ((popber.jahr = _variable.apber_jahr))) ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 3) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b2ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora._variable ON ((tpopber.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpopber.entwicklung = 3) AND (tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letzterpopber0 AS
|
|
SELECT pop.ap_id,
|
|
pop.id,
|
|
popber.jahr
|
|
FROM apflora._variable,
|
|
((apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.jahr <= _variable.apber_jahr) AND (tpop.apber_relevant = 1) AND (pop.status <> 300));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letzterpopber AS
|
|
SELECT v_pop_letzterpopber0.ap_id,
|
|
v_pop_letzterpopber0.id,
|
|
max(v_pop_letzterpopber0.jahr) AS jahr
|
|
FROM apflora.v_pop_letzterpopber0
|
|
GROUP BY v_pop_letzterpopber0.ap_id, v_pop_letzterpopber0.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b2rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (((apflora.v_pop_letzterpopber
|
|
JOIN apflora.pop ON ((v_pop_letzterpopber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popber ON (((pop.id = popber.pop_id) AND (v_pop_letzterpopber.id = popber.pop_id) AND (v_pop_letzterpopber.jahr = popber.jahr))))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 3) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_letztertpopber0 AS
|
|
SELECT pop.ap_id,
|
|
tpop.id,
|
|
tpopber.jahr AS tpopber_jahr
|
|
FROM apflora._variable,
|
|
(apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopber.jahr <= _variable.apber_jahr) AND (tpop.apber_relevant = 1) AND (pop.status <> 300));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_letztertpopber AS
|
|
SELECT v_tpop_letztertpopber0.ap_id,
|
|
v_tpop_letztertpopber0.id,
|
|
max(v_tpop_letztertpopber0.tpopber_jahr) AS jahr
|
|
FROM apflora.v_tpop_letztertpopber0
|
|
GROUP BY v_tpop_letztertpopber0.ap_id, v_tpop_letztertpopber0.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b2rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN (apflora.pop
|
|
JOIN apflora.v_tpop_letztertpopber ON ((pop.ap_id = v_tpop_letztertpopber.ap_id))) ON (((tpopber.tpop_id = v_tpop_letztertpopber.id) AND (tpopber.jahr = v_tpop_letztertpopber.jahr)))) ON (((tpop.pop_id = pop.id) AND (tpop.id = tpopber.tpop_id))))
|
|
WHERE ((tpopber.entwicklung = 3) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b3lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora._variable ON ((popber.jahr = _variable.apber_jahr))) ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 2) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b3ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora._variable ON ((tpopber.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpopber.entwicklung = 2) AND (tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b3rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (((apflora.v_pop_letzterpopber
|
|
JOIN apflora.pop ON ((v_pop_letzterpopber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popber ON (((pop.id = popber.pop_id) AND (v_pop_letzterpopber.id = popber.pop_id) AND (v_pop_letzterpopber.jahr = popber.jahr))))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 2) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b3rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN (apflora.pop
|
|
JOIN apflora.v_tpop_letztertpopber ON ((pop.ap_id = v_tpop_letztertpopber.ap_id))) ON (((tpopber.tpop_id = v_tpop_letztertpopber.id) AND (tpopber.jahr = v_tpop_letztertpopber.jahr)))) ON (((tpop.pop_id = pop.id) AND (tpop.id = tpopber.tpop_id))))
|
|
WHERE ((tpopber.entwicklung = 2) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b4lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora._variable ON ((popber.jahr = _variable.apber_jahr))) ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 1) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b4ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora._variable ON ((tpopber.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpopber.entwicklung = 1) AND (tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b4rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (((apflora.v_pop_letzterpopber
|
|
JOIN apflora.pop ON ((v_pop_letzterpopber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popber ON (((pop.id = popber.pop_id) AND (v_pop_letzterpopber.id = popber.pop_id) AND (v_pop_letzterpopber.jahr = popber.jahr))))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 1) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b4rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN (apflora.pop
|
|
JOIN apflora.v_tpop_letztertpopber ON ((pop.ap_id = v_tpop_letztertpopber.ap_id))) ON (((tpopber.tpop_id = v_tpop_letztertpopber.id) AND (tpopber.jahr = v_tpop_letztertpopber.jahr)))) ON (((tpop.pop_id = pop.id) AND (tpop.id = tpopber.tpop_id))))
|
|
WHERE ((tpopber.entwicklung = 1) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b5lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora._variable ON ((popber.jahr = _variable.apber_jahr))) ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 4) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b5ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora._variable ON ((tpopber.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpopber.entwicklung = 4) AND (tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b5rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (((apflora.v_pop_letzterpopber
|
|
JOIN apflora.pop ON ((v_pop_letzterpopber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popber ON (((pop.id = popber.pop_id) AND (v_pop_letzterpopber.id = popber.pop_id) AND (v_pop_letzterpopber.jahr = popber.jahr))))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE (((popber.entwicklung = 4) OR (popber.entwicklung = 9)) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b5rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN (apflora.pop
|
|
JOIN apflora.v_tpop_letztertpopber ON ((pop.ap_id = v_tpop_letztertpopber.ap_id))) ON (((tpopber.tpop_id = v_tpop_letztertpopber.id) AND (tpopber.jahr = v_tpop_letztertpopber.jahr)))) ON (((tpop.pop_id = pop.id) AND (tpop.id = tpopber.tpop_id))))
|
|
WHERE ((tpopber.entwicklung = 4) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b6lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora._variable ON ((popber.jahr = _variable.apber_jahr))) ON ((pop.id = popber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 8) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b6ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora._variable ON ((tpopber.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpopber.entwicklung = 8) AND (tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b6rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (((apflora.v_pop_letzterpopber
|
|
JOIN apflora.pop ON ((v_pop_letzterpopber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popber ON (((pop.id = popber.pop_id) AND (v_pop_letzterpopber.id = popber.pop_id) AND (v_pop_letzterpopber.jahr = popber.jahr))))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((popber.entwicklung = 8) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b6rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN (apflora.pop
|
|
JOIN apflora.v_tpop_letztertpopber ON ((pop.ap_id = v_tpop_letztertpopber.ap_id))) ON (((tpopber.tpop_id = v_tpop_letztertpopber.id) AND (tpopber.jahr = v_tpop_letztertpopber.jahr)))) ON (((tpop.pop_id = pop.id) AND (tpop.id = tpopber.tpop_id))))
|
|
WHERE ((tpopber.entwicklung = 8) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b7lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_b7ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c1lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN (apflora.tpopmassn
|
|
JOIN apflora._variable ON ((tpopmassn.jahr = _variable.apber_jahr))) ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c1ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
JOIN apflora._variable ON ((tpopmassn.jahr = _variable.apber_jahr)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c1rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM apflora._variable,
|
|
((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.jahr <= _variable.apber_jahr) AND (tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c1rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM apflora._variable,
|
|
((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.jahr <= _variable.apber_jahr) AND (tpop.apber_relevant = 1) AND (pop.status <> 300) AND (tpop.status <> 300))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letztermassnber0 AS
|
|
SELECT pop.ap_id,
|
|
pop.id,
|
|
popmassnber.jahr
|
|
FROM apflora._variable,
|
|
(((apflora.pop
|
|
JOIN apflora.popmassnber ON ((pop.id = popmassnber.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((popmassnber.jahr <= _variable.apber_jahr) AND (tpop.apber_relevant = 1) AND (tpopmassn.jahr <= _variable.apber_jahr) AND (pop.status <> 300));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letztermassnber AS
|
|
SELECT v_pop_letztermassnber0.ap_id,
|
|
v_pop_letztermassnber0.id,
|
|
max(v_pop_letztermassnber0.jahr) AS jahr
|
|
FROM apflora.v_pop_letztermassnber0
|
|
GROUP BY v_pop_letztermassnber0.ap_id, v_pop_letztermassnber0.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c3rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.v_pop_letztermassnber
|
|
JOIN apflora.pop ON ((v_pop_letztermassnber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popmassnber ON (((pop.id = popmassnber.pop_id) AND (v_pop_letztermassnber.jahr = popmassnber.jahr) AND (v_pop_letztermassnber.id = popmassnber.pop_id))))
|
|
WHERE (popmassnber.beurteilung = 1)
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_letztermassnber0 AS
|
|
SELECT pop.ap_id,
|
|
tpop.id,
|
|
tpopmassnber.jahr
|
|
FROM apflora._variable,
|
|
(((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassnber ON ((tpop.id = tpopmassnber.tpop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassnber.jahr <= _variable.apber_jahr) AND (tpop.apber_relevant = 1) AND (tpopmassn.jahr <= _variable.apber_jahr) AND (pop.status <> 300) AND ((tpopmassnber.beurteilung >= 1) AND (tpopmassnber.beurteilung <= 5)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_letztermassnber AS
|
|
SELECT v_tpop_letztermassnber0.ap_id,
|
|
v_tpop_letztermassnber0.id,
|
|
max(v_tpop_letztermassnber0.jahr) AS jahr
|
|
FROM apflora.v_tpop_letztermassnber0
|
|
GROUP BY v_tpop_letztermassnber0.ap_id, v_tpop_letztermassnber0.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c3rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN ((apflora.v_tpop_letztermassnber
|
|
JOIN apflora.tpopmassnber ON (((v_tpop_letztermassnber.id = tpopmassnber.tpop_id) AND (v_tpop_letztermassnber.jahr = tpopmassnber.jahr))))
|
|
JOIN apflora.tpop ON ((tpopmassnber.tpop_id = tpop.id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE (tpopmassnber.beurteilung = 1)
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c4rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.v_pop_letztermassnber
|
|
JOIN apflora.pop ON ((v_pop_letztermassnber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popmassnber ON (((pop.id = popmassnber.pop_id) AND (v_pop_letztermassnber.jahr = popmassnber.jahr) AND (v_pop_letztermassnber.id = popmassnber.pop_id))))
|
|
WHERE (popmassnber.beurteilung = 2)
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c4rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN ((apflora.v_tpop_letztermassnber
|
|
JOIN apflora.tpopmassnber ON (((v_tpop_letztermassnber.id = tpopmassnber.tpop_id) AND (v_tpop_letztermassnber.jahr = tpopmassnber.jahr))))
|
|
JOIN apflora.tpop ON ((tpopmassnber.tpop_id = tpop.id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE (tpopmassnber.beurteilung = 2)
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c5rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.v_pop_letztermassnber
|
|
JOIN apflora.pop ON ((v_pop_letztermassnber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popmassnber ON (((pop.id = popmassnber.pop_id) AND (v_pop_letztermassnber.jahr = popmassnber.jahr) AND (v_pop_letztermassnber.id = popmassnber.pop_id))))
|
|
WHERE (popmassnber.beurteilung = 3)
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c5rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN ((apflora.v_tpop_letztermassnber
|
|
JOIN apflora.tpopmassnber ON (((v_tpop_letztermassnber.id = tpopmassnber.tpop_id) AND (v_tpop_letztermassnber.jahr = tpopmassnber.jahr))))
|
|
JOIN apflora.tpop ON ((tpopmassnber.tpop_id = tpop.id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE (tpopmassnber.beurteilung = 3)
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c6rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.v_pop_letztermassnber
|
|
JOIN apflora.pop ON ((v_pop_letztermassnber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popmassnber ON (((pop.id = popmassnber.pop_id) AND (v_pop_letztermassnber.id = popmassnber.pop_id) AND (v_pop_letztermassnber.jahr = popmassnber.jahr))))
|
|
WHERE (popmassnber.beurteilung = 4)
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c6rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN ((apflora.v_tpop_letztermassnber
|
|
JOIN apflora.tpopmassnber ON (((v_tpop_letztermassnber.id = tpopmassnber.tpop_id) AND (v_tpop_letztermassnber.jahr = tpopmassnber.jahr))))
|
|
JOIN apflora.tpop ON ((tpopmassnber.tpop_id = tpop.id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE (tpopmassnber.beurteilung = 4)
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c7rpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM ((apflora.v_pop_letztermassnber
|
|
JOIN apflora.pop ON ((v_pop_letztermassnber.ap_id = pop.ap_id)))
|
|
JOIN apflora.popmassnber ON (((pop.id = popmassnber.pop_id) AND (v_pop_letztermassnber.id = popmassnber.pop_id) AND (v_pop_letztermassnber.jahr = popmassnber.jahr))))
|
|
WHERE (popmassnber.beurteilung = 5)
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_c7rtpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN ((apflora.v_tpop_letztermassnber
|
|
JOIN apflora.tpopmassnber ON (((v_tpop_letztermassnber.id = tpopmassnber.tpop_id) AND (v_tpop_letztermassnber.jahr = tpopmassnber.jahr))))
|
|
JOIN apflora.tpop ON ((tpopmassnber.tpop_id = tpop.id))) ON ((pop.id = tpop.pop_id)))
|
|
WHERE (tpopmassnber.beurteilung = 5)
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_erstemassnproap AS
|
|
SELECT ap.id AS ap_id,
|
|
min(tpopmassn.jahr) AS jahr
|
|
FROM (((apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
GROUP BY ap.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_injahr AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
apber.id,
|
|
concat(adresse.name, ', ', adresse.adresse) AS bearbeiter,
|
|
apberuebersicht.jahr AS apberuebersicht_jahr,
|
|
apberuebersicht.bemerkungen,
|
|
v_erstemassnproap.jahr AS jahr_erste_massnahme
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
LEFT JOIN apflora.v_erstemassnproap ON ((ap.id = v_erstemassnproap.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (((apflora.apber
|
|
LEFT JOIN apflora.adresse ON ((apber.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.apberuebersicht ON ((apber.jahr = apberuebersicht.jahr)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id)))
|
|
WHERE (ap.bearbeitung < 4)
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_pop_uebersicht AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname AS "Art",
|
|
( SELECT count(*) AS count
|
|
FROM apflora.pop pop_1
|
|
WHERE ((pop_1.ap_id = ae_eigenschaften.id) AND (pop_1.status = 100) AND (pop_1.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.apber_relevant = 1))))) AS "aktuellUrspruenglich",
|
|
( SELECT count(*) AS count
|
|
FROM apflora.pop pop_1
|
|
WHERE ((pop_1.ap_id = ae_eigenschaften.id) AND (pop_1.status = ANY (ARRAY[200, 210])) AND (pop_1.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.apber_relevant = 1))))) AS "aktuellAngesiedelt",
|
|
( SELECT count(*) AS count
|
|
FROM apflora.pop pop_1
|
|
WHERE ((pop_1.ap_id = ae_eigenschaften.id) AND (pop_1.status = ANY (ARRAY[100, 200, 210])) AND (pop_1.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.apber_relevant = 1))))) AS aktuell
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))
|
|
GROUP BY ap.id, ae_eigenschaften.id, ae_eigenschaften.artname
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebe AS
|
|
SELECT apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ae_eigenschaften.artname,
|
|
v_ap_anzmassnbisjahr.anzahl_massnahmen
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora._variable
|
|
JOIN (apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id))) ON ((_variable.apber_jahr = apber.jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND (apber.beurteilung = 1) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebe_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora._variable
|
|
JOIN (apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id))) ON ((_variable.apber_jahr = apber.jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND (apber.beurteilung = 1) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebkm AS
|
|
SELECT ae_eigenschaften.artname,
|
|
CASE
|
|
WHEN (ae_eigenschaften.kefart = true) THEN 'Ja'::text
|
|
ELSE ''::text
|
|
END AS "FnsKefArt2",
|
|
CASE
|
|
WHEN (round((((_variable.apber_jahr - ae_eigenschaften.kefkontrolljahr) / 4))::numeric, 0) = (((_variable.apber_jahr - ae_eigenschaften.kefkontrolljahr) / 4))::numeric) THEN 'Ja'::text
|
|
ELSE ''::text
|
|
END AS "FnsKefKontrJahr2"
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN ((apflora.v_ap_anzmassnbisjahr "vApAnzMassnBisJahr_1"
|
|
JOIN apflora.ap ON (("vApAnzMassnBisJahr_1".id = ap.id)))
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.apber
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON (((_variable.apber_jahr = "vApAnzMassnBisJahr_1".jahr) AND (ap.id = apber.ap_id))))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3) AND ("vApAnzMassnBisJahr_1".anzahl_massnahmen = '0'::numeric))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebma AS
|
|
SELECT ae_eigenschaften.artname,
|
|
v_ap_anzmassnbisjahr.anzahl_massnahmen
|
|
FROM (apflora._variable
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((ap.id = v_ap_anzmassnbisjahr.id))) ON ((_variable.apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebma_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((ap.id = v_ap_anzmassnbisjahr.id))) ON ((_variable.apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebme AS
|
|
SELECT apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ae_eigenschaften.artname
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 5) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebme_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 5) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebne_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 3) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebse_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 4) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebun_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 1168274204) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebwe_apid AS
|
|
SELECT ap.id
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 6) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebnb AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3) AND (NOT (ap.id IN ( SELECT v_apber_uebse_apid.id
|
|
FROM apflora.v_apber_uebse_apid))) AND (NOT (ap.id IN ( SELECT v_apber_uebe_apid.id
|
|
FROM apflora.v_apber_uebe_apid))) AND (NOT (ap.id IN ( SELECT v_apber_uebme_apid.id
|
|
FROM apflora.v_apber_uebme_apid))) AND (NOT (ap.id IN ( SELECT v_apber_uebwe_apid.id
|
|
FROM apflora.v_apber_uebwe_apid))) AND (NOT (ap.id IN ( SELECT v_apber_uebne_apid.id
|
|
FROM apflora.v_apber_uebne_apid))) AND (NOT (ap.id IN ( SELECT v_apber_uebun_apid.id
|
|
FROM apflora.v_apber_uebun_apid))) AND (ap.id IN ( SELECT v_apber_uebma_apid.id
|
|
FROM apflora.v_apber_uebma_apid)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebnb00 AS
|
|
SELECT ap.id,
|
|
apber.jahr
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN (((apflora.ap
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((ap.id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id)))
|
|
JOIN (apflora.apber
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3) AND (apber.beurteilung IS NULL));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebnb000 AS
|
|
SELECT ap.id,
|
|
apber.jahr
|
|
FROM ((((apflora.ap
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((ap.id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id)))
|
|
LEFT JOIN apflora.apber ON ((ap.id = apber.ap_id)))
|
|
JOIN apflora._variable ON ((v_ap_anzmassnbisjahr.jahr = _variable.apber_jahr)))
|
|
WHERE ((apber.ap_id IS NULL) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebnb0 AS
|
|
SELECT v_apber_uebnb000.id,
|
|
v_apber_uebnb000.jahr
|
|
FROM apflora.v_apber_uebnb000
|
|
UNION
|
|
SELECT v_apber_uebnb00.id,
|
|
v_apber_uebnb00.jahr
|
|
FROM apflora.v_apber_uebnb00;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebne AS
|
|
SELECT apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ae_eigenschaften.artname
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 3) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebse AS
|
|
SELECT apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ae_eigenschaften.artname
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 4) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebun AS
|
|
SELECT apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ae_eigenschaften.artname
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 1168274204) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uebwe AS
|
|
SELECT apber.id_old,
|
|
apber.jahr,
|
|
apber.situation,
|
|
apber.vergleich_vorjahr_gesamtziel,
|
|
apber.beurteilung,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.apber_analyse,
|
|
apber.konsequenzen_umsetzung,
|
|
apber.konsequenzen_erfolgskontrolle,
|
|
apber.biotope_neue,
|
|
apber.biotope_optimieren,
|
|
apber.massnahmen_optimieren,
|
|
apber.wirkung_auf_art,
|
|
apber.datum,
|
|
apber.changed,
|
|
apber.changed_by,
|
|
apber.massnahmen_ap_bearb,
|
|
apber.massnahmen_planung_vs_ausfuehrung,
|
|
apber.id,
|
|
apber.ap_id,
|
|
apber.bearbeiter,
|
|
ae_eigenschaften.artname
|
|
FROM (apflora._variable "tblKonstanten_1"
|
|
JOIN ((apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.apber
|
|
JOIN apflora.v_ap_anzmassnbisjahr ON ((apber.ap_id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora._variable ON ((apber.jahr = _variable.apber_jahr))) ON ((ap.id = apber.ap_id))) ON (("tblKonstanten_1".apber_jahr = v_ap_anzmassnbisjahr.jahr)))
|
|
WHERE ((apber.beurteilung = 6) AND (v_ap_anzmassnbisjahr.anzahl_massnahmen > (0)::numeric) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uet01 AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
CASE
|
|
WHEN (NOT (ap.id IN ( SELECT v_apber_uebma_apid.id
|
|
FROM apflora.v_apber_uebma_apid))) THEN 1
|
|
ELSE 0
|
|
END AS "keineMassnahmen",
|
|
CASE
|
|
WHEN (ae_eigenschaften.kefart = true) THEN 1
|
|
ELSE 0
|
|
END AS "FnsKefArt",
|
|
CASE
|
|
WHEN (round((((_variable.apber_jahr - ae_eigenschaften.kefkontrolljahr) / 4))::numeric, 0) = (((_variable.apber_jahr - ae_eigenschaften.kefkontrolljahr) / 4))::numeric) THEN 1
|
|
ELSE 0
|
|
END AS "FnsKefKontrJahr"
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN ((apflora.ap
|
|
JOIN (apflora.v_ap_anzmassnbisjahr
|
|
JOIN apflora._variable ON ((v_ap_anzmassnbisjahr.jahr = _variable.apber_jahr))) ON ((ap.id = v_ap_anzmassnbisjahr.id)))
|
|
JOIN apflora.v_ap_apberrelevant ON ((ap.id = v_ap_apberrelevant.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_uet_veraengegenvorjahr AS
|
|
SELECT ap.id,
|
|
apber.veraenderung_zum_vorjahr,
|
|
apber.jahr
|
|
FROM (apflora.ap
|
|
LEFT JOIN apflora.apber ON ((ap.id = apber.ap_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3) AND ((apber.jahr IN ( SELECT _variable.apber_jahr
|
|
FROM apflora._variable)) OR (apber.jahr IS NULL)));
|
|
|
|
|
|
|
|
|
|
CREATE TABLE apflora.zielber (
|
|
id_old integer,
|
|
jahr smallint,
|
|
erreichung text,
|
|
bemerkungen text,
|
|
changed date DEFAULT now(),
|
|
changed_by character varying(20) DEFAULT current_setting('request.jwt.claim.username'::text, true),
|
|
id uuid DEFAULT public.uuid_generate_v1mc() NOT NULL,
|
|
ziel_id uuid
|
|
);
|
|
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.id_old IS 'frühere id';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.jahr IS 'Für welches Jahr gilt der Bericht?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.erreichung IS 'Beurteilung der Zielerreichung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.bemerkungen IS 'Bemerkungen zur Zielerreichung';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.changed IS 'Wann wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.changed_by IS 'Von wem wurde der Datensatz zuletzt geändert?';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.id IS 'Primärschlüssel';
|
|
|
|
|
|
|
|
COMMENT ON COLUMN apflora.zielber.ziel_id IS 'Zugehöriges Ziel. Fremdschlüssel aus der Tabelle "ziel"';
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apber_zielber AS
|
|
SELECT zielber.id_old,
|
|
zielber.jahr,
|
|
zielber.erreichung,
|
|
zielber.bemerkungen,
|
|
zielber.changed,
|
|
zielber.changed_by,
|
|
zielber.id,
|
|
zielber.ziel_id
|
|
FROM (apflora.zielber
|
|
JOIN apflora._variable ON ((zielber.jahr = _variable.apber_jahr)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apbera1lpop AS
|
|
SELECT pop.ap_id,
|
|
pop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_apbera1ltpop AS
|
|
SELECT pop.ap_id,
|
|
tpop.id
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status IS NOT NULL) AND (pop.status <> 300) AND (tpop.status <> 300) AND (tpop.status IS NOT NULL))
|
|
GROUP BY pop.ap_id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_assozart AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
assozart.id,
|
|
"ArtenDb_Arteigenschaften_1".artname AS artname_assoziiert,
|
|
assozart.bemerkungen,
|
|
assozart.changed,
|
|
assozart.changed_by
|
|
FROM (apflora.ae_eigenschaften "ArtenDb_Arteigenschaften_1"
|
|
RIGHT JOIN (((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
RIGHT JOIN apflora.assozart ON ((ap.id = assozart.ap_id))) ON (("ArtenDb_Arteigenschaften_1".id = assozart.ae_id)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_auswapbearbmassninjahr0 AS
|
|
SELECT adresse.name AS bearbeiter,
|
|
ae_eigenschaften.artname,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpopmassn.jahr,
|
|
tpopmassn_typ_werte.text AS typ,
|
|
tpopmassn.beschreibung,
|
|
tpopmassn.datum,
|
|
tpopmassn.bemerkungen,
|
|
tpopmassn.plan_vorhanden,
|
|
tpopmassn.plan_bezeichnung,
|
|
tpopmassn.flaeche,
|
|
tpopmassn.markierung,
|
|
tpopmassn.anz_triebe,
|
|
tpopmassn.anz_pflanzen,
|
|
tpopmassn.anz_pflanzstellen,
|
|
tpopmassn.wirtspflanze,
|
|
tpopmassn.herkunft_pop,
|
|
tpopmassn.sammeldatum,
|
|
tpopmassn.form,
|
|
tpopmassn.pflanzanordnung
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN ((apflora.tpopmassn
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id)))
|
|
JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))
|
|
ORDER BY adresse.name, ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_beob AS
|
|
SELECT beob.id,
|
|
beob_quelle_werte.name AS quelle,
|
|
beob.id_field,
|
|
(beob.data ->> (( SELECT beob_1.id_field
|
|
FROM apflora.beob beob_1
|
|
WHERE (beob_1.id = beob2.id)))::text) AS "OriginalId",
|
|
beob.art_id,
|
|
ae_eigenschaften.artname AS "Artname",
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
beob.x,
|
|
beob.y,
|
|
CASE
|
|
WHEN ((beob.x > 0) AND (tpop.x > 0) AND (beob.y > 0) AND (tpop.y > 0)) THEN round(sqrt((power(((beob.x - tpop.x))::double precision, (2)::double precision) + power(((beob.y - tpop.y))::double precision, (2)::double precision))))
|
|
ELSE NULL::double precision
|
|
END AS distanz_zur_teilpopulation,
|
|
beob.datum,
|
|
beob.autor,
|
|
beob.nicht_zuordnen,
|
|
beob.bemerkungen,
|
|
beob.changed,
|
|
beob.changed_by
|
|
FROM (((((apflora.beob
|
|
JOIN apflora.beob beob2 ON ((beob2.id = beob.id)))
|
|
JOIN (apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ap.art_id = ae_eigenschaften.id))) ON ((beob.art_id = ae_eigenschaften.id)))
|
|
JOIN apflora.beob_quelle_werte ON ((beob.quelle_id = beob_quelle_werte.id)))
|
|
LEFT JOIN apflora.tpop ON ((tpop.id = beob.tpop_id)))
|
|
LEFT JOIN apflora.pop ON ((pop.id = tpop.pop_id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, beob.datum DESC;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_beob__mit_data AS
|
|
SELECT beob.id,
|
|
beob_quelle_werte.name AS quelle,
|
|
beob.id_field,
|
|
(beob.data ->> (( SELECT beob_1.id_field
|
|
FROM apflora.beob beob_1
|
|
WHERE (beob_1.id = beob2.id)))::text) AS "OriginalId",
|
|
beob.art_id,
|
|
ae_eigenschaften.artname AS "Artname",
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
beob.x,
|
|
beob.y,
|
|
CASE
|
|
WHEN ((beob.x > 0) AND (tpop.x > 0) AND (beob.y > 0) AND (tpop.y > 0)) THEN round(sqrt((power(((beob.x - tpop.x))::double precision, (2)::double precision) + power(((beob.y - tpop.y))::double precision, (2)::double precision))))
|
|
ELSE NULL::double precision
|
|
END AS "Distanz zur Teilpopulation (m)",
|
|
beob.datum,
|
|
beob.autor,
|
|
beob.nicht_zuordnen,
|
|
beob.bemerkungen,
|
|
beob.changed,
|
|
beob.changed_by,
|
|
beob.data AS "Originaldaten"
|
|
FROM (((((apflora.beob
|
|
JOIN apflora.beob beob2 ON ((beob2.id = beob.id)))
|
|
JOIN (apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ap.art_id = ae_eigenschaften.id))) ON ((beob.art_id = ae_eigenschaften.id)))
|
|
JOIN apflora.beob_quelle_werte ON ((beob.quelle_id = beob_quelle_werte.id)))
|
|
LEFT JOIN apflora.tpop ON ((tpop.id = beob.tpop_id)))
|
|
LEFT JOIN apflora.pop ON ((pop.id = tpop.pop_id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, beob.datum DESC;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
ber.id,
|
|
ber.autor,
|
|
ber.jahr,
|
|
ber.titel,
|
|
ber.url,
|
|
ber.changed,
|
|
ber.changed_by
|
|
FROM (((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
RIGHT JOIN apflora.ber ON ((ap.id = ber.ap_id)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_bertpopfuerangezeigteap0 AS
|
|
SELECT ap.id AS ap_id,
|
|
pop.id AS pop_id,
|
|
tpop.id AS tpop_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
pop_status_werte_2.text AS tpop_status,
|
|
tpop.apber_relevant
|
|
FROM (((((apflora.ae_eigenschaften
|
|
JOIN ((apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_datenstruktur AS
|
|
SELECT tables.table_schema AS "Tabelle: Schema",
|
|
tables.table_name AS "Tabelle: Name",
|
|
public.dsql2((((('select count(*) from "'::text || (tables.table_schema)::text) || '"."'::text) || (tables.table_name)::text) || '"'::text)) AS "Tabelle: Anzahl Datensaetze",
|
|
columns.column_name AS "Feld: Name",
|
|
columns.column_default AS "Feld: Standardwert",
|
|
columns.data_type AS "Feld: Datentyp",
|
|
columns.is_nullable AS "Feld: Nullwerte"
|
|
FROM (information_schema.tables
|
|
JOIN information_schema.columns ON ((((tables.table_name)::text = (columns.table_name)::text) AND ((tables.table_schema)::text = (columns.table_schema)::text))))
|
|
WHERE ((tables.table_schema)::text = 'apflora'::text)
|
|
ORDER BY tables.table_schema, tables.table_name, columns.column_name;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_erfkrit AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
erfkrit.id,
|
|
ap_erfkrit_werte.text AS beurteilung,
|
|
erfkrit.kriterien,
|
|
erfkrit.changed,
|
|
erfkrit.changed_by
|
|
FROM ((((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
RIGHT JOIN apflora.erfkrit ON ((ap.id = erfkrit.ap_id)))
|
|
LEFT JOIN apflora.ap_erfkrit_werte ON ((erfkrit.erfolg = ap_erfkrit_werte.code)))
|
|
ORDER BY ae_eigenschaften.artname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_exportevab_beob AS
|
|
SELECT
|
|
NULL::uuid AS "fkZeitpunkt",
|
|
NULL::uuid AS "idBeobachtung",
|
|
NULL::uuid AS fkautor,
|
|
NULL::uuid AS fkart,
|
|
NULL::integer AS fkartgruppe,
|
|
NULL::integer AS fkaa1,
|
|
NULL::integer AS "fkAAINTRODUIT",
|
|
NULL::integer AS "fkAAPRESENCE",
|
|
NULL::text AS "MENACES",
|
|
NULL::text AS "VITALITE_PLANTE",
|
|
NULL::text AS "STATION",
|
|
NULL::text AS "ABONDANCE",
|
|
NULL::text AS "EXPERTISE_INTRODUIT",
|
|
NULL::text AS "EXPERTISE_INTRODUITE_NOM";
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr_maxanzahl AS
|
|
SELECT tpopkontr.id,
|
|
max(tpopkontrzaehl.anzahl) AS anzahl
|
|
FROM (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id)))
|
|
GROUP BY tpopkontr.id
|
|
ORDER BY tpopkontr.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_exportevab_projekt AS
|
|
SELECT ap.id AS "idProjekt",
|
|
concat('AP Flora ZH: ', ae_eigenschaften.artname) AS "Name",
|
|
CASE
|
|
WHEN (ap.start_jahr IS NOT NULL) THEN concat('01.01.', ap.start_jahr)
|
|
ELSE to_char((('now'::text)::date)::timestamp with time zone, 'DD.MM.YYYY'::text)
|
|
END AS "Eroeffnung",
|
|
'7c71b8af-df3e-4844-a83b-55735f80b993'::uuid AS "fkAutor",
|
|
concat('Aktionsplan: ', ap_bearbstand_werte.text,
|
|
CASE
|
|
WHEN (ap.start_jahr IS NOT NULL) THEN concat('; Start im Jahr: ', ap.start_jahr)
|
|
ELSE ''::text
|
|
END,
|
|
CASE
|
|
WHEN (ap.umsetzung IS NOT NULL) THEN concat('; Stand Umsetzung: ', ap_umsetzung_werte.text)
|
|
ELSE ''::text
|
|
END, '') AS "Bemerkungen"
|
|
FROM ((((apflora.ap
|
|
JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN apflora.ae_eigenschaften ON ((ap.art_id = ae_eigenschaften.id)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN (apflora.tpop
|
|
JOIN ((apflora.tpopkontr
|
|
JOIN apflora.v_tpopkontr_maxanzahl ON ((v_tpopkontr_maxanzahl.id = tpopkontr.id)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((ae_eigenschaften.taxid > 150) AND (ae_eigenschaften.taxid < 1000000) AND (tpop.x IS NOT NULL) AND (tpop.y IS NOT NULL) AND ((tpopkontr.typ)::text = ANY (ARRAY[('Ausgangszustand'::character varying)::text, ('Zwischenbeurteilung'::character varying)::text, ('Freiwilligen-Erfolgskontrolle'::character varying)::text])) AND (tpop.status <> 201) AND (tpopkontr.bearbeiter IS NOT NULL) AND (tpopkontr.bearbeiter <> 'a1146ae4-4e03-4032-8aa8-bc46ba02f468'::uuid) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.jahr)::double precision <> date_part('year'::text, ('now'::text)::date)) AND (tpop.bekannt_seit IS NOT NULL) AND ((tpop.status = ANY (ARRAY[100, 101])) OR ((tpopkontr.jahr - tpop.bekannt_seit) > 5)) AND (tpop.flurname IS NOT NULL))
|
|
GROUP BY ae_eigenschaften.artname, ap.id, ap.start_jahr, ap.umsetzung, ap_bearbstand_werte.text, ap_umsetzung_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_exportevab_raum AS
|
|
SELECT ap.id AS "fkProjekt",
|
|
pop.id AS "idRaum",
|
|
concat(pop.name,
|
|
CASE
|
|
WHEN (pop.nr IS NOT NULL) THEN concat(' (Nr. ', pop.nr, ')')
|
|
ELSE ''::text
|
|
END) AS "Name",
|
|
to_char((('now'::text)::date)::timestamp with time zone, 'DD.MM.YYYY'::text) AS "Erfassungsdatum",
|
|
'7c71b8af-df3e-4844-a83b-55735f80b993'::uuid AS "fkAutor",
|
|
CASE
|
|
WHEN (pop.status IS NOT NULL) THEN concat('Status: ', "popHerkunft".text,
|
|
CASE
|
|
WHEN (pop.bekannt_seit IS NOT NULL) THEN concat('; Bekannt seit: ', pop.bekannt_seit)
|
|
ELSE ''::text
|
|
END)
|
|
ELSE ''::text
|
|
END AS "Bemerkungen"
|
|
FROM ((apflora.ap
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte "popHerkunft" ON ((pop.status = "popHerkunft".code)))
|
|
JOIN (apflora.tpop
|
|
JOIN ((apflora.tpopkontr
|
|
JOIN apflora.v_tpopkontr_maxanzahl ON ((v_tpopkontr_maxanzahl.id = tpopkontr.id)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.ae_eigenschaften ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ae_eigenschaften.taxid > 150) AND (ae_eigenschaften.taxid < 1000000) AND (tpop.x IS NOT NULL) AND (tpop.y IS NOT NULL) AND ((tpopkontr.typ)::text = ANY (ARRAY[('Ausgangszustand'::character varying)::text, ('Zwischenbeurteilung'::character varying)::text, ('Freiwilligen-Erfolgskontrolle'::character varying)::text])) AND (tpop.status <> 201) AND (tpopkontr.bearbeiter IS NOT NULL) AND (tpopkontr.bearbeiter <> 'a1146ae4-4e03-4032-8aa8-bc46ba02f468'::uuid) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.jahr)::double precision <> date_part('year'::text, ('now'::text)::date)) AND (tpop.bekannt_seit IS NOT NULL) AND ((tpop.status = ANY (ARRAY[100, 101])) OR ((tpopkontr.jahr - tpop.bekannt_seit) > 5)) AND (tpop.flurname IS NOT NULL) AND (ap.id IN ( SELECT v_exportevab_projekt."idProjekt"
|
|
FROM apflora.v_exportevab_projekt)))
|
|
GROUP BY ap.id, pop.id, pop.name, pop.nr, pop.status, "popHerkunft".text, pop.bekannt_seit;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_exportevab_ort AS
|
|
SELECT tpop.id AS "TPopGuid",
|
|
pop.id AS "fkRaum",
|
|
tpop.id AS "idOrt",
|
|
"substring"(concat(tpop.flurname,
|
|
CASE
|
|
WHEN (tpop.nr IS NOT NULL) THEN concat(' (Nr. ', tpop.nr, ')')
|
|
ELSE ''::text
|
|
END), 1, 40) AS "Name",
|
|
to_char((('now'::text)::date)::timestamp with time zone, 'DD.MM.YYYY'::text) AS "Erfassungsdatum",
|
|
'7c71b8af-df3e-4844-a83b-55735f80b993'::uuid AS "fkAutor",
|
|
("substring"(max((evab_typologie."TYPO")::text), 1, 9))::character varying(10) AS "fkLebensraumtyp",
|
|
1 AS "fkGenauigkeitLage",
|
|
1 AS "fkGeometryType",
|
|
CASE
|
|
WHEN (tpop.hoehe IS NOT NULL) THEN (tpop.hoehe)::integer
|
|
ELSE 0
|
|
END AS "obergrenzeHoehe",
|
|
4 AS "fkGenauigkeitHoehe",
|
|
tpop.x AS "X",
|
|
tpop.y AS "Y",
|
|
"substring"(tpop.gemeinde, 1, 25) AS "NOM_COMMUNE",
|
|
"substring"(tpop.flurname, 1, 255) AS "DESC_LOCALITE",
|
|
max(tpopkontr.lr_umgebung_delarze) AS "ENV",
|
|
CASE
|
|
WHEN (tpop.status IS NOT NULL) THEN concat('Status: ', pop_status_werte.text,
|
|
CASE
|
|
WHEN (tpop.bekannt_seit IS NOT NULL) THEN concat('; Bekannt seit: ', tpop.bekannt_seit)
|
|
ELSE ''::text
|
|
END)
|
|
ELSE ''::text
|
|
END AS "Bemerkungen"
|
|
FROM ((apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte ON ((tpop.status = pop_status_werte.code)))
|
|
JOIN (((apflora.tpopkontr
|
|
JOIN apflora.v_tpopkontr_maxanzahl ON ((v_tpopkontr_maxanzahl.id = tpopkontr.id)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.evab_typologie ON ((tpopkontr.lr_delarze = (evab_typologie."TYPO")::text))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.ae_eigenschaften ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ae_eigenschaften.taxid > 150) AND (ae_eigenschaften.taxid < 1000000) AND (tpop.x IS NOT NULL) AND (tpop.y IS NOT NULL) AND ((tpopkontr.typ)::text = ANY (ARRAY[('Ausgangszustand'::character varying)::text, ('Zwischenbeurteilung'::character varying)::text, ('Freiwilligen-Erfolgskontrolle'::character varying)::text])) AND (tpop.status <> 201) AND (tpopkontr.bearbeiter IS NOT NULL) AND (tpopkontr.bearbeiter <> 'a1146ae4-4e03-4032-8aa8-bc46ba02f468'::uuid) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.jahr)::double precision <> date_part('year'::text, ('now'::text)::date)) AND (tpop.bekannt_seit IS NOT NULL) AND ((tpop.status = ANY (ARRAY[100, 101])) OR ((tpopkontr.jahr - tpop.bekannt_seit) > 5)) AND (tpop.flurname IS NOT NULL) AND (ap.id IN ( SELECT v_exportevab_projekt."idProjekt"
|
|
FROM apflora.v_exportevab_projekt)) AND (pop.id IN ( SELECT v_exportevab_raum."idRaum"
|
|
FROM apflora.v_exportevab_raum)))
|
|
GROUP BY pop.id, tpop.id, tpop.nr, tpop.bekannt_seit, tpop.flurname, tpop.status, pop_status_werte.text, tpop.hoehe, tpop.x, tpop.y, tpop.gemeinde;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_exportevab_zeit AS
|
|
SELECT tpop.id AS "fkOrt",
|
|
tpopkontr.zeit_id AS "idZeitpunkt",
|
|
CASE
|
|
WHEN (tpopkontr.datum IS NOT NULL) THEN to_char((tpopkontr.datum)::timestamp with time zone, 'DD.MM.YYYY'::text)
|
|
ELSE concat('01.01.', tpopkontr.jahr)
|
|
END AS "Datum",
|
|
CASE
|
|
WHEN (tpopkontr.datum IS NOT NULL) THEN 'T'::character varying(10)
|
|
ELSE 'J'::character varying(10)
|
|
END AS "fkGenauigkeitDatum",
|
|
CASE
|
|
WHEN (tpopkontr.datum IS NOT NULL) THEN 'P'::character varying(10)
|
|
ELSE 'X'::character varying(10)
|
|
END AS "fkGenauigkeitDatumZDSF",
|
|
"substring"((tpopkontr.moosschicht)::text, 1, 10) AS "COUV_MOUSSES",
|
|
"substring"((tpopkontr.krautschicht)::text, 1, 10) AS "COUV_HERBACEES",
|
|
"substring"(tpopkontr.strauchschicht, 1, 10) AS "COUV_BUISSONS",
|
|
"substring"((tpopkontr.baumschicht)::text, 1, 10) AS "COUV_ARBRES"
|
|
FROM ((apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte tpop_status_werte ON ((tpop.status = tpop_status_werte.code)))
|
|
JOIN ((apflora.tpopkontr
|
|
JOIN apflora.v_tpopkontr_maxanzahl ON ((v_tpopkontr_maxanzahl.id = tpopkontr.id)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.ae_eigenschaften ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ae_eigenschaften.taxid > 150) AND (ae_eigenschaften.taxid < 1000000) AND (tpop.x IS NOT NULL) AND (tpop.y IS NOT NULL) AND ((tpopkontr.typ)::text = ANY (ARRAY[('Ausgangszustand'::character varying)::text, ('Zwischenbeurteilung'::character varying)::text, ('Freiwilligen-Erfolgskontrolle'::character varying)::text])) AND (tpop.status <> 201) AND (tpopkontr.bearbeiter IS NOT NULL) AND (tpopkontr.bearbeiter <> 'a1146ae4-4e03-4032-8aa8-bc46ba02f468'::uuid) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.jahr)::double precision <> date_part('year'::text, ('now'::text)::date)) AND (tpop.bekannt_seit IS NOT NULL) AND ((tpop.status = ANY (ARRAY[100, 101])) OR ((tpopkontr.jahr - tpop.bekannt_seit) > 5)) AND (tpop.flurname IS NOT NULL) AND (ap.id IN ( SELECT v_exportevab_projekt."idProjekt"
|
|
FROM apflora.v_exportevab_projekt)) AND (pop.id IN ( SELECT v_exportevab_raum."idRaum"
|
|
FROM apflora.v_exportevab_raum)) AND (tpop.id IN ( SELECT v_exportevab_ort."idOrt"
|
|
FROM apflora.v_exportevab_ort)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_idealbiotop AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
ap.changed AS ap_changed,
|
|
ap.changed_by AS ap_changed_by,
|
|
idealbiotop.erstelldatum,
|
|
idealbiotop.hoehenlage,
|
|
idealbiotop.region,
|
|
idealbiotop.exposition,
|
|
idealbiotop.besonnung,
|
|
idealbiotop.hangneigung,
|
|
idealbiotop.boden_typ,
|
|
idealbiotop.boden_kalkgehalt,
|
|
idealbiotop.boden_durchlaessigkeit,
|
|
idealbiotop.boden_humus,
|
|
idealbiotop.boden_naehrstoffgehalt,
|
|
idealbiotop.wasserhaushalt,
|
|
idealbiotop.konkurrenz,
|
|
idealbiotop.moosschicht,
|
|
idealbiotop.krautschicht,
|
|
idealbiotop.strauchschicht,
|
|
idealbiotop.baumschicht,
|
|
idealbiotop.bemerkungen,
|
|
idealbiotop.changed,
|
|
idealbiotop.changed_by
|
|
FROM (apflora.idealbiotop
|
|
LEFT JOIN ((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id))) ON ((idealbiotop.ap_id = ap.id)))
|
|
ORDER BY ae_eigenschaften.artname, idealbiotop.erstelldatum;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_kontrzaehl_anzproeinheit AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
apflora_adresse_1.name AS ap_bearbeiter,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpop_status_werte.text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius_m,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpopkontr.id AS kontr_id,
|
|
tpopkontr.jahr AS kontr_jahr,
|
|
tpopkontr.datum AS kontr_datum,
|
|
tpopkontr_typ_werte.text AS kontr_typ,
|
|
adresse.name AS kontr_bearbeiter,
|
|
tpopkontr.ueberlebensrate AS kontr_ueberlebensrate,
|
|
tpopkontr.vitalitaet AS kontr_vitalitaet,
|
|
tpop_entwicklung_werte.text AS kontr_entwicklung,
|
|
tpopkontr.ursachen AS kontr_ursachen,
|
|
tpopkontr.erfolgsbeurteilung AS kontr_erfolgsbeurteilung,
|
|
tpopkontr.umsetzung_aendern AS kontr_umsetzung_aendern,
|
|
tpopkontr.kontrolle_aendern AS kontr_kontrolle_aendern,
|
|
tpopkontr.bemerkungen AS kontr_bemerkungen,
|
|
tpopkontr.lr_delarze AS kontr_lr_delarze,
|
|
tpopkontr.lr_umgebung_delarze AS kontr_lr_umgebung_delarze,
|
|
tpopkontr.vegetationstyp AS kontr_vegetationstyp,
|
|
tpopkontr.konkurrenz AS kontr_konkurrenz,
|
|
tpopkontr.moosschicht AS kontr_moosschicht,
|
|
tpopkontr.krautschicht AS kontr_krautschicht,
|
|
tpopkontr.strauchschicht AS kontr_strauchschicht,
|
|
tpopkontr.baumschicht AS kontr_baumschicht,
|
|
tpopkontr.boden_typ AS kontr_boden_typ,
|
|
tpopkontr.boden_kalkgehalt AS kontr_boden_kalkgehalt,
|
|
tpopkontr.boden_durchlaessigkeit AS kontr_boden_durchlaessigkeit,
|
|
tpopkontr.boden_humus AS kontr_boden_humus,
|
|
tpopkontr.boden_naehrstoffgehalt AS kontr_boden_naehrstoffgehalt,
|
|
tpopkontr.boden_abtrag AS kontr_boden_abtrag,
|
|
tpopkontr.wasserhaushalt AS kontr_wasserhaushalt,
|
|
tpopkontr_idbiotuebereinst_werte.text AS kontr_idealbiotop_uebereinstimmung,
|
|
tpopkontr.handlungsbedarf AS kontr_handlungsbedarf,
|
|
tpopkontr.flaeche_ueberprueft AS kontr_flaeche_ueberprueft,
|
|
tpopkontr.flaeche AS kontr_flaeche,
|
|
tpopkontr.plan_vorhanden AS kontr_plan_vorhanden,
|
|
tpopkontr.deckung_vegetation AS kontr_deckung_vegetation,
|
|
tpopkontr.deckung_nackter_boden AS kontr_deckung_nackter_boden,
|
|
tpopkontr.deckung_ap_art AS kontr_deckung_ap_art,
|
|
tpopkontr.jungpflanzen_vorhanden AS kontr_jungpflanzen_vorhanden,
|
|
tpopkontr.vegetationshoehe_maximum AS kontr_vegetationshoehe_maximum,
|
|
tpopkontr.vegetationshoehe_mittel AS kontr_vegetationshoehe_mittel,
|
|
tpopkontr.gefaehrdung AS kontr_gefaehrdung,
|
|
tpopkontr.changed AS kontr_changed,
|
|
tpopkontr.changed_by AS kontr_changed_by,
|
|
tpopkontrzaehl.id,
|
|
tpopkontrzaehl_einheit_werte.text AS einheit,
|
|
tpopkontrzaehl_methode_werte.text AS methode,
|
|
tpopkontrzaehl.anzahl
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN ((((apflora.ap
|
|
LEFT JOIN apflora.adresse apflora_adresse_1 ON ((ap.bearbeiter = apflora_adresse_1.id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte tpop_status_werte ON ((tpop_status_werte.code = tpop.status)))
|
|
JOIN (((((apflora.tpopkontr
|
|
LEFT JOIN apflora.tpopkontr_idbiotuebereinst_werte ON ((tpopkontr.idealbiotop_uebereinstimmung = tpopkontr_idbiotuebereinst_werte.code)))
|
|
LEFT JOIN apflora.tpopkontr_typ_werte ON (((tpopkontr.typ)::text = (tpopkontr_typ_werte.text)::text)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopkontr.entwicklung = tpop_entwicklung_werte.code)))
|
|
LEFT JOIN ((apflora.tpopkontrzaehl
|
|
LEFT JOIN apflora.tpopkontrzaehl_einheit_werte ON ((tpopkontrzaehl.einheit = tpopkontrzaehl_einheit_werte.code)))
|
|
LEFT JOIN apflora.tpopkontrzaehl_methode_werte ON ((tpopkontrzaehl.methode = tpopkontrzaehl_methode_werte.code))) ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopkontr.jahr, tpopkontr.datum;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_massn AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.familie,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
pop_status_werte_2.text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpopmassn.id,
|
|
tpopmassn.jahr,
|
|
tpopmassn.datum,
|
|
tpopmassn_typ_werte.text AS typ,
|
|
tpopmassn.beschreibung,
|
|
adresse.name AS bearbeiter,
|
|
tpopmassn.bemerkungen,
|
|
tpopmassn.plan_vorhanden,
|
|
tpopmassn.plan_bezeichnung,
|
|
tpopmassn.flaeche,
|
|
tpopmassn.form,
|
|
tpopmassn.pflanzanordnung,
|
|
tpopmassn.markierung,
|
|
tpopmassn.anz_triebe,
|
|
tpopmassn.anz_pflanzen,
|
|
tpopmassn.anz_pflanzstellen,
|
|
tpopmassn.wirtspflanze,
|
|
tpopmassn.herkunft_pop,
|
|
tpopmassn.sammeldatum,
|
|
tpopmassn.changed,
|
|
tpopmassn.changed_by
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN (apflora.tpopmassn
|
|
LEFT JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassn.jahr, tpopmassn.datum, tpopmassn_typ_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_massn_fuergis_read AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
(pop.id)::character varying(50) AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
(tpop.id)::character varying(50) AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
pop_status_werte_2.text AS tpop_status,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
adresse.name AS tpop_bearbeiter,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
(tpopmassn.id)::character varying(50) AS massn_id,
|
|
tpopmassn.jahr AS massn_jahr,
|
|
(tpopmassn.datum)::timestamp without time zone AS massn_datum,
|
|
tpopmassn_typ_werte.text AS massn_typ,
|
|
tpopmassn.beschreibung AS massn_beschreibung,
|
|
adresse.name AS massn_bearbeiter,
|
|
tpopmassn.plan_vorhanden AS massn_plan_vorhanden,
|
|
tpopmassn.plan_bezeichnung AS massn_plan_bezeichnung,
|
|
tpopmassn.flaeche AS massn_flaeche,
|
|
tpopmassn.form AS massn_form,
|
|
tpopmassn.pflanzanordnung AS massn_pflanzanordnung,
|
|
tpopmassn.markierung AS massn_markierung,
|
|
tpopmassn.anz_triebe AS massn_anz_triebe,
|
|
tpopmassn.anz_pflanzen AS massn_anz_pflanzen,
|
|
tpopmassn.anz_pflanzstellen AS massn_anz_pflanzstellen,
|
|
tpopmassn.wirtspflanze AS massn_wirtspflanze,
|
|
tpopmassn.herkunft_pop AS massn_herkunft_pop,
|
|
tpopmassn.sammeldatum AS massn_sammeldatum,
|
|
(tpopmassn.changed)::timestamp without time zone AS massn_changed,
|
|
tpopmassn.changed_by AS massn_changed_by
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN (apflora.tpopmassn
|
|
LEFT JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassn.jahr, tpopmassn.datum, tpopmassn_typ_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_massn_fuergis_write AS
|
|
SELECT tpopmassn.tpop_id,
|
|
(tpopmassn.id)::character varying(50) AS massn_id,
|
|
tpopmassn.typ AS massn_typ,
|
|
tpopmassn.jahr AS massn_jahr,
|
|
(tpopmassn.datum)::timestamp without time zone AS massn_datum,
|
|
tpopmassn.bearbeiter AS massn_bearbeiter,
|
|
tpopmassn.beschreibung AS massn_beschreibung,
|
|
tpopmassn.plan_vorhanden AS massn_plan_vorhanden,
|
|
tpopmassn.plan_bezeichnung AS massn_plan_bezeichnung,
|
|
tpopmassn.flaeche AS massn_flaeche,
|
|
tpopmassn.form AS massn_form,
|
|
tpopmassn.pflanzanordnung AS massn_pflanzanordnung,
|
|
tpopmassn.markierung AS massn_markierung,
|
|
tpopmassn.anz_triebe AS massn_anz_triebe,
|
|
tpopmassn.anz_pflanzen AS massn_anz_pflanzen,
|
|
tpopmassn.anz_pflanzstellen AS massn_anz_pflanzstellen,
|
|
tpopmassn.wirtspflanze AS massn_wirtspflanze,
|
|
tpopmassn.herkunft_pop AS massn_herkunft_pop,
|
|
tpopmassn.sammeldatum AS massn_sammeldatum,
|
|
tpopmassn.bemerkungen AS massn_bemerkungen,
|
|
(tpopmassn.changed)::timestamp without time zone AS massn_changed,
|
|
tpopmassn.changed_by AS massn_changed_by
|
|
FROM apflora.tpopmassn;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_massn_webgisbun AS
|
|
SELECT ap.id AS "APARTID",
|
|
ae_eigenschaften.artname AS "APART",
|
|
pop.id AS "POPGUID",
|
|
pop.nr AS "POPNR",
|
|
tpop.id AS "TPOPGUID",
|
|
tpop.nr AS "TPOPNR",
|
|
tpop.x AS "TPOP_X",
|
|
tpop.y AS "TPOP_Y",
|
|
pop_status_werte_2.text AS "TPOPSTATUS",
|
|
tpopmassn.id AS "MASSNGUID",
|
|
tpopmassn.jahr AS "MASSNJAHR",
|
|
to_char((tpopmassn.datum)::timestamp with time zone, 'DD.MM.YY'::text) AS "MASSNDAT",
|
|
tpopmassn_typ_werte.text AS "MASSTYP",
|
|
tpopmassn.beschreibung AS "MASSNMASSNAHME",
|
|
adresse.name AS "MASSNBEARBEITER",
|
|
(tpopmassn.bemerkungen)::character(1) AS "MASSNBEMERKUNG",
|
|
tpopmassn.plan_vorhanden AS "MASSNPLAN",
|
|
tpopmassn.plan_bezeichnung AS "MASSPLANBEZ",
|
|
tpopmassn.flaeche AS "MASSNFLAECHE",
|
|
tpopmassn.form AS "MASSNFORMANSIEDL",
|
|
tpopmassn.pflanzanordnung AS "MASSNPFLANZANORDNUNG",
|
|
tpopmassn.markierung AS "MASSNMARKIERUNG",
|
|
tpopmassn.anz_triebe AS "MASSNANZTRIEBE",
|
|
tpopmassn.anz_pflanzen AS "MASSNANZPFLANZEN",
|
|
tpopmassn.anz_pflanzstellen AS "MASSNANZPFLANZSTELLEN",
|
|
tpopmassn.wirtspflanze AS "MASSNWIRTSPFLANZEN",
|
|
tpopmassn.herkunft_pop AS "MASSNHERKUNFTSPOP",
|
|
tpopmassn.sammeldatum AS "MASSNSAMMELDAT",
|
|
to_char((tpopmassn.changed)::timestamp with time zone, 'DD.MM.YY'::text) AS "MASSNCHANGEDAT",
|
|
tpopmassn.changed_by AS "MASSNCHANGEBY"
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN (apflora.tpopmassn
|
|
LEFT JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassn.jahr, tpopmassn.datum, tpopmassn_typ_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop_status_werte.text AS status,
|
|
pop.bekannt_seit,
|
|
pop.status_unklar,
|
|
pop.status_unklar_begruendung,
|
|
pop.x,
|
|
pop.y,
|
|
pop.changed,
|
|
pop.changed_by
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN (apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_anzkontr AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop_status_werte.text AS status,
|
|
pop.bekannt_seit,
|
|
pop.status_unklar,
|
|
pop.status_unklar_begruendung,
|
|
pop.x,
|
|
pop.y,
|
|
count(tpopkontr.id) AS anzahl_kontrollen
|
|
FROM (((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
LEFT JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
GROUP BY ap.id, ae_eigenschaften.artname, ap_bearbstand_werte.text, ap.start_jahr, ap_umsetzung_werte.text, pop.id, pop.nr, pop.name, pop_status_werte.text, pop.status_unklar, pop.status_unklar_begruendung, pop.bekannt_seit, pop.x, pop.y
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_anzmassn AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop_status_werte.text AS status,
|
|
pop.bekannt_seit,
|
|
pop.status_unklar,
|
|
pop.status_unklar_begruendung,
|
|
pop.x,
|
|
pop.y,
|
|
count(tpopmassn.id) AS anzahl_massnahmen
|
|
FROM (((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
LEFT JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
GROUP BY ap.id, ae_eigenschaften.artname, ap_bearbstand_werte.text, ap.start_jahr, ap_umsetzung_werte.text, pop.id, pop.nr, pop.name, pop_status_werte.text, pop.status_unklar, pop.status_unklar_begruendung, pop.bekannt_seit, pop.x, pop.y
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_berjahrundmassnjahr AS
|
|
SELECT tpop.id,
|
|
tpopber.jahr
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id)))
|
|
UNION
|
|
SELECT tpop.id,
|
|
tpopmassnber.jahr
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassnber ON ((tpop.id = tpopmassnber.tpop_id)))
|
|
ORDER BY 2;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_berjahrundmassnjahrvontpop AS
|
|
SELECT tpop.pop_id,
|
|
v_tpop_berjahrundmassnjahr.jahr
|
|
FROM (apflora.v_tpop_berjahrundmassnjahr
|
|
JOIN apflora.tpop ON ((v_tpop_berjahrundmassnjahr.id = tpop.id)))
|
|
GROUP BY tpop.pop_id, v_tpop_berjahrundmassnjahr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_berundmassnjahre AS
|
|
SELECT pop.id,
|
|
popber.jahr
|
|
FROM (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id)))
|
|
UNION
|
|
SELECT pop.id,
|
|
popmassnber.jahr
|
|
FROM (apflora.pop
|
|
JOIN apflora.popmassnber ON ((pop.id = popmassnber.pop_id)))
|
|
ORDER BY 2;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_fuergis_read AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
(pop.id)::text AS id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop_status_werte.text AS status,
|
|
pop.bekannt_seit,
|
|
pop.status_unklar,
|
|
pop.status_unklar_begruendung,
|
|
pop.x,
|
|
pop.y,
|
|
(pop.changed)::timestamp without time zone AS changed,
|
|
pop.changed_by
|
|
FROM (((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
WHERE ((pop.x > 0) AND (pop.y > 0))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_fuergis_write AS
|
|
SELECT (pop.ap_id)::text AS ap_id,
|
|
(pop.id)::text AS id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop.status,
|
|
pop.status_unklar,
|
|
pop.status_unklar_begruendung,
|
|
pop.bekannt_seit,
|
|
pop.x,
|
|
pop.y,
|
|
(pop.changed)::timestamp without time zone AS changed,
|
|
pop.changed_by
|
|
FROM apflora.pop;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_kml AS
|
|
SELECT ae_eigenschaften.artname AS "Art",
|
|
pop.nr AS "Label",
|
|
"substring"(concat('Population: ', pop.nr, ' ', pop.name), 1, 225) AS "Inhalte",
|
|
round(((((((2.6779094 + (4.728982 * (((pop.x - 600000))::numeric / (1000000)::numeric))) + ((0.791484 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) + (((0.1306 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0436 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Laengengrad",
|
|
round((((((((16.9023892 + (3.238272 * (((pop.y - 200000))::numeric / (1000000)::numeric))) - ((0.270978 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric))) - ((0.002528 * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0447 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) - (((0.014 * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Breitengrad",
|
|
concat('http://www.apflora.ch/Projekte/4635372c-431c-11e8-bb30-e77f6cdd35a6/Aktionspläne/', ap.id, '/Populationen/', pop.id) AS url
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((pop.y IS NOT NULL) AND (pop.y IS NOT NULL))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_kmlnamen AS
|
|
SELECT ae_eigenschaften.artname AS "Art",
|
|
concat(ae_eigenschaften.artname, ' ', pop.nr) AS "Label",
|
|
"substring"(concat('Population: ', pop.nr, ' ', pop.name), 1, 225) AS "Inhalte",
|
|
round(((((((2.6779094 + (4.728982 * (((pop.x - 600000))::numeric / (1000000)::numeric))) + ((0.791484 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) + (((0.1306 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0436 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Laengengrad",
|
|
round((((((((16.9023892 + (3.238272 * (((pop.y - 200000))::numeric / (1000000)::numeric))) - ((0.270978 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric))) - ((0.002528 * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0447 * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.x - 600000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) - (((0.014 * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric)) * (((pop.y - 200000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Breitengrad",
|
|
concat('http://www.apflora.ch/Projekte/4635372c-431c-11e8-bb30-e77f6cdd35a6/Aktionspläne/', ap.id, '/Populationen/', pop.id) AS url
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((pop.y IS NOT NULL) AND (pop.y IS NOT NULL))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letzterpopber0_overall AS
|
|
SELECT popber.pop_id,
|
|
max(popber.jahr) AS jahr
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
GROUP BY popber.pop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letzterpopber_overall AS
|
|
SELECT pop.ap_id,
|
|
pop.id,
|
|
v_pop_letzterpopber0_overall.jahr
|
|
FROM ((apflora.pop
|
|
JOIN apflora.v_pop_letzterpopber0_overall ON ((pop.id = v_pop_letzterpopber0_overall.pop_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.apber_relevant = 1) AND (pop.status <> 300))
|
|
GROUP BY pop.ap_id, pop.id, v_pop_letzterpopber0_overall.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_letzterpopbermassn AS
|
|
SELECT popmassnber.pop_id AS id,
|
|
max(popmassnber.jahr) AS jahr
|
|
FROM apflora.popmassnber
|
|
WHERE (popmassnber.jahr IS NOT NULL)
|
|
GROUP BY popmassnber.pop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_massnseitbeginnap AS
|
|
SELECT tpopmassn.tpop_id
|
|
FROM (apflora.ap
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpopmassn.jahr >= ap.start_jahr)
|
|
GROUP BY tpopmassn.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_mit_letzter_popber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_status,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
pop.changed AS pop_changed,
|
|
pop.changed_by AS pop_changed_by,
|
|
popber.id AS popber_id,
|
|
popber.jahr AS popber_jahr,
|
|
tpop_entwicklung_werte.text AS popber_entwicklung,
|
|
popber.bemerkungen AS popber_bemerkungen,
|
|
popber.changed AS popber_changed,
|
|
popber.changed_by AS popber_changed_by
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN (apflora.v_pop_letzterpopber0_overall
|
|
LEFT JOIN (apflora.popber
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((popber.entwicklung = tpop_entwicklung_werte.code))) ON (((v_pop_letzterpopber0_overall.jahr = popber.jahr) AND (v_pop_letzterpopber0_overall.pop_id = popber.pop_id)))) ON ((pop.id = v_pop_letzterpopber0_overall.pop_id)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, v_pop_letzterpopber0_overall.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_mit_letzter_popmassnber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_status,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
pop.changed AS pop_changed,
|
|
pop.changed_by AS pop_changed_by,
|
|
popmassnber.id AS popmassnber_id,
|
|
popmassnber.jahr AS popmassnber_jahr,
|
|
tpopmassn_erfbeurt_werte.text AS popmassnber_entwicklung,
|
|
popmassnber.bemerkungen AS popmassnber_bemerkungen,
|
|
popmassnber.changed AS popmassnber_changed,
|
|
popmassnber.changed_by AS popmassnber_changed_by
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN (apflora.v_pop_letzterpopbermassn
|
|
LEFT JOIN (apflora.popmassnber
|
|
LEFT JOIN apflora.tpopmassn_erfbeurt_werte ON ((popmassnber.beurteilung = tpopmassn_erfbeurt_werte.code))) ON (((v_pop_letzterpopbermassn.jahr = popmassnber.jahr) AND (v_pop_letzterpopbermassn.id = popmassnber.pop_id)))) ON ((pop.id = v_pop_letzterpopbermassn.id)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, v_pop_letzterpopbermassn.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_ohnekoord AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop_status_werte.text AS status,
|
|
pop.bekannt_seit,
|
|
pop.status_unklar,
|
|
pop.status_unklar_begruendung,
|
|
pop.x,
|
|
pop.y,
|
|
pop.changed,
|
|
pop.changed_by
|
|
FROM (((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
WHERE ((pop.x IS NULL) OR (pop.y IS NULL))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_popberundmassnber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
pop.changed AS pop_changed,
|
|
pop.changed_by AS pop_changed_by,
|
|
v_pop_berundmassnjahre.jahr,
|
|
popber.id AS popber_id,
|
|
popber.jahr AS popber_jahr,
|
|
tpop_entwicklung_werte.text AS popber_entwicklung,
|
|
popber.bemerkungen AS popber_bemerkungen,
|
|
popber.changed AS popber_changed,
|
|
popber.changed_by AS popber_changed_by,
|
|
popmassnber.id AS popmassnber_id,
|
|
popmassnber.jahr AS popmassnber_jahr,
|
|
tpopmassn_erfbeurt_werte.text AS popmassnber_entwicklung,
|
|
popmassnber.bemerkungen AS popmassnber_bemerkungen,
|
|
popmassnber.changed AS popmassnber_changed,
|
|
popmassnber.changed_by AS popmassnber_changed_by
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN (((apflora.pop
|
|
LEFT JOIN (apflora.v_pop_berundmassnjahre
|
|
LEFT JOIN (apflora.popmassnber
|
|
LEFT JOIN apflora.tpopmassn_erfbeurt_werte ON ((popmassnber.beurteilung = tpopmassn_erfbeurt_werte.code))) ON (((v_pop_berundmassnjahre.jahr = popmassnber.jahr) AND (v_pop_berundmassnjahre.id = popmassnber.pop_id)))) ON ((pop.id = v_pop_berundmassnjahre.id)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN (apflora.popber
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((popber.entwicklung = tpop_entwicklung_werte.code))) ON (((v_pop_berundmassnjahre.jahr = popber.jahr) AND (v_pop_berundmassnjahre.id = popber.pop_id)))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, v_pop_berundmassnjahre.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_pop_vonapohnestatus AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap.bearbeitung AS ap_bearbeitung,
|
|
pop.id,
|
|
pop.nr,
|
|
pop.name,
|
|
pop.status
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ap.bearbeitung = 3) AND (pop.status IS NULL))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_popber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
popber.id,
|
|
popber.jahr,
|
|
tpop_entwicklung_werte.text AS entwicklung,
|
|
popber.bemerkungen,
|
|
popber.changed,
|
|
popber.changed_by
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id)))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((popber.entwicklung = tpop_entwicklung_werte.code)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, popber.jahr, tpop_entwicklung_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_popber_angezapbestjahr0 AS
|
|
SELECT ap.id AS ap_id,
|
|
pop.id AS pop_id,
|
|
popber.id,
|
|
ae_eigenschaften.artname AS "Artname",
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS status,
|
|
popber.jahr AS "PopBerJahr",
|
|
tpop_entwicklung_werte.text AS "PopBerEntwicklung",
|
|
popber.bemerkungen AS "PopBerTxt"
|
|
FROM (((apflora.ae_eigenschaften
|
|
JOIN ((apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((popber.entwicklung = tpop_entwicklung_werte.code)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_popmassnber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
pop.changed AS pop_changed,
|
|
pop.changed_by AS pop_changed_by,
|
|
popmassnber.id,
|
|
popmassnber.jahr,
|
|
tpopmassn_erfbeurt_werte.text AS beurteilung,
|
|
popmassnber.bemerkungen,
|
|
popmassnber.changed,
|
|
popmassnber.changed_by
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN apflora.popmassnber ON ((pop.id = popmassnber.pop_id)))
|
|
LEFT JOIN apflora.tpopmassn_erfbeurt_werte ON ((popmassnber.beurteilung = tpopmassn_erfbeurt_werte.code)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_popmassnber_anzmassn0 AS
|
|
SELECT popmassnber.pop_id,
|
|
popmassnber.jahr,
|
|
count(tpopmassn.id) AS anzahl_massnahmen
|
|
FROM (apflora.popmassnber
|
|
JOIN (apflora.tpop
|
|
LEFT JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((popmassnber.pop_id = tpop.pop_id)))
|
|
WHERE ((tpopmassn.jahr = popmassnber.jahr) OR (tpopmassn.jahr IS NULL))
|
|
GROUP BY popmassnber.pop_id, popmassnber.jahr
|
|
ORDER BY popmassnber.pop_id, popmassnber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_popmassnber_anzmassn AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_status,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
pop.changed AS pop_changed,
|
|
pop.changed_by AS pop_changed_by,
|
|
popmassnber.id AS popmassnber_id,
|
|
popmassnber.jahr AS popmassnber_jahr,
|
|
tpopmassn_erfbeurt_werte.text AS popmassnber_entwicklung,
|
|
popmassnber.bemerkungen AS popmassnber_bemerkungen,
|
|
popmassnber.changed AS popmassnber_changed,
|
|
popmassnber.changed_by AS popmassnber_changed_by,
|
|
v_popmassnber_anzmassn0.anzahl_massnahmen
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN (apflora.popmassnber
|
|
LEFT JOIN apflora.v_popmassnber_anzmassn0 ON (((v_popmassnber_anzmassn0.pop_id = popmassnber.pop_id) AND (v_popmassnber_anzmassn0.jahr = popmassnber.jahr)))) ON ((pop.id = popmassnber.pop_id)))
|
|
LEFT JOIN apflora.tpopmassn_erfbeurt_werte ON ((popmassnber.beurteilung = tpopmassn_erfbeurt_werte.code)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_q_ziel_ohnejahr AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
ziel.id
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.ziel ON ((ap.id = ziel.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE (ziel.jahr IS NULL)
|
|
ORDER BY ziel.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_q_ziel_ohnetyp AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
ziel.id,
|
|
ziel.jahr
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.ziel ON ((ap.id = ziel.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE (ziel.typ IS NULL)
|
|
ORDER BY ziel.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_q_ziel_ohneziel AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
ziel.id,
|
|
ziel.jahr
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.ziel ON ((ap.id = ziel.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE (ziel.bezeichnung IS NULL)
|
|
ORDER BY ziel.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_apber_ohnebeurteilung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'AP-Bericht ohne Beurteilung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'AP-Berichte'::text, (apber.id)::text] AS url,
|
|
ARRAY[concat('AP-Bericht (Jahr): ', apber.jahr)] AS text,
|
|
apber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN apflora.apber ON ((ap.id = apber.ap_id)))
|
|
WHERE ((apber.beurteilung IS NULL) AND (apber.jahr IS NOT NULL))
|
|
ORDER BY apber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_apber_ohnejahr AS
|
|
SELECT
|
|
NULL::uuid AS proj_id,
|
|
NULL::uuid AS ap_id,
|
|
NULL::text AS hw,
|
|
NULL::text[] AS url,
|
|
NULL::text[] AS text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_apber_ohnevergleichvorjahrgesamtziel AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'AP-Bericht ohne Vergleich Vorjahr - Gesamtziel:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'AP-Berichte'::text, (apber.id)::text] AS url,
|
|
ARRAY[concat('AP-Bericht (Jahr): ', apber.jahr)] AS text,
|
|
apber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN apflora.apber ON ((ap.id = apber.ap_id)))
|
|
WHERE ((apber.vergleich_vorjahr_gesamtziel IS NULL) AND (apber.jahr IS NOT NULL))
|
|
ORDER BY apber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_assozart_ohneart AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Assoziierte Art ohne Art:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'assoziierte-Arten'::text, (assozart.id)::text] AS url,
|
|
ARRAY[concat('Assoziierte Art (id): ', assozart.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.assozart ON ((ap.id = assozart.ap_id)))
|
|
WHERE (assozart.ae_id IS NULL)
|
|
ORDER BY assozart.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_erfkrit_ohnebeurteilung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Erfolgskriterium ohne Beurteilung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Erfolgskriterien'::text, (erfkrit.id)::text] AS url,
|
|
ARRAY[concat('Erfolgskriterium (id): ', erfkrit.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.erfkrit ON ((ap.id = erfkrit.ap_id)))
|
|
WHERE (erfkrit.erfolg IS NULL)
|
|
ORDER BY erfkrit.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_erfkrit_ohnekriterien AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Erfolgskriterium ohne Kriterien:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Erfolgskriterien'::text, (erfkrit.id)::text] AS url,
|
|
ARRAY[concat('Erfolgskriterium (id): ', erfkrit.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.erfkrit ON ((ap.id = erfkrit.ap_id)))
|
|
WHERE (erfkrit.kriterien IS NULL)
|
|
ORDER BY erfkrit.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontr_ohnebearb AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Feldkontrolle ohne BearbeiterIn:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Kontrolle (id): ', tpopkontr.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontr.bearbeiter IS NULL) AND ((tpopkontr.typ)::text <> 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontr_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Feldkontrolle ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontr.jahr IS NULL) AND ((tpopkontr.typ)::text <> 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontr_ohnetyp AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Feldkontrolle ohne Typ:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (((tpopkontr.typ IS NULL) OR ((tpopkontr.typ)::text = 'Erfolgskontrolle'::text)) AND (tpopkontr.jahr IS NOT NULL))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontr_ohnezaehlung AS
|
|
SELECT
|
|
NULL::uuid AS proj_id,
|
|
NULL::uuid AS ap_id,
|
|
NULL::text AS hw,
|
|
NULL::text[] AS url,
|
|
NULL::text[] AS text,
|
|
NULL::smallint AS "Berichtjahr";
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontrzaehlung_ohneanzahl AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Zaehlung ohne Anzahl (Feldkontrolle):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text, 'Zählungen'::text, (tpopkontrzaehl.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr), concat('Zählung (id): ', tpopkontrzaehl.id)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontrzaehl.anzahl IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text <> 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontrzaehlung_ohneeinheit AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Zaehlung ohne Zaehleinheit (Feldkontrolle):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text, 'Zählungen'::text, (tpopkontrzaehl.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr), concat('Zählung (id): ', tpopkontrzaehl.id)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontrzaehl.einheit IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text <> 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_feldkontrzaehlung_ohnemethode AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Zaehlung ohne Methode (Feldkontrolle):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text, 'Zählungen'::text, (tpopkontrzaehl.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr), concat('Zählung (id): ', tpopkontrzaehl.id)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontrzaehl.methode IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text <> 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_freiwkontr_ohnebearb AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Freiwilligen-Kontrolle ohne BearbeiterIn:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Freiwilligen-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (id): ', tpopkontr.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontr.bearbeiter IS NULL) AND ((tpopkontr.typ)::text = 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY ap.id, pop.nr, tpop.nr, tpopkontr.bearbeiter;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_freiwkontr_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Freiwilligen-Kontrolle ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Freiwilligen-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (id): ', tpopkontr.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontr.jahr IS NULL) AND ((tpopkontr.typ)::text = 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY ap.id, pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_freiwkontr_ohnezaehlung AS
|
|
SELECT
|
|
NULL::uuid AS proj_id,
|
|
NULL::uuid AS ap_id,
|
|
NULL::text AS hw,
|
|
NULL::text[] AS url,
|
|
NULL::text[] AS text,
|
|
NULL::smallint AS "Berichtjahr";
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_freiwkontrzaehlung_ohneanzahl AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Zaehlung ohne Anzahl (Freiwilligen-Kontrolle):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Freiwilligen-Kontrollen'::text, (tpopkontr.id)::text, 'Zählungen'::text, (tpopkontrzaehl.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr), concat('Zählung (id): ', tpopkontrzaehl.id)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontrzaehl.anzahl IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text = 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_freiwkontrzaehlung_ohneeinheit AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Zaehlung ohne Zaehleinheit (Freiwilligen-Kontrolle):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Freiwilligen-Kontrollen'::text, (tpopkontr.id)::text, 'Zählungen'::text, (tpopkontrzaehl.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr), concat('Zählung (id): ', tpopkontrzaehl.id)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontrzaehl.einheit IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text = 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_freiwkontrzaehlung_ohnemethode AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Zaehlung ohne Methode (Freiwilligen-Kontrolle):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Freiwilligen-Kontrollen'::text, (tpopkontr.id)::text, 'Zählungen'::text, (tpopkontrzaehl.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr), concat('Zählung (id): ', tpopkontrzaehl.id)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopkontrzaehl.methode IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text = 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_massn_ohnebearb AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Massnahme ohne BearbeiterIn:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Massnahmen'::text, (tpopmassn.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Massnahme (id): ', tpopmassn.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpopmassn.bearbeiter IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr, tpopmassn.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_massn_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Massnahme ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Massnahmen'::text, (tpopmassn.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Massnahme: ', tpopmassn.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpopmassn.jahr IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr, tpopmassn.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_massn_ohnetyp AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Massnahmen ohne Typ:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Massnahmen'::text, (tpopmassn.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Massnahme (Jahr): ', tpopmassn.jahr)] AS text,
|
|
tpopmassn.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopmassn.typ IS NULL) AND (tpopmassn.jahr IS NOT NULL))
|
|
ORDER BY pop.nr, tpop.nr, tpopmassn.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_massnber_ohneerfbeurt AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Massnahmen-Bericht ohne Entwicklung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Massnahmen-Berichte'::text, (tpopmassnber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Massnahmen-Bericht (Jahr): ', tpopmassnber.jahr)] AS text,
|
|
tpopmassnber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopmassnber ON ((tpop.id = tpopmassnber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopmassnber.beurteilung IS NULL) AND (tpopmassnber.jahr IS NOT NULL))
|
|
ORDER BY pop.nr, tpop.nr, tpopmassnber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_massnber_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Massnahmen-Bericht ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Massnahmen-Berichte'::text, (tpopmassnber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Massnahmen-Bericht (Jahr): ', tpopmassnber.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopmassnber ON ((tpop.id = tpopmassnber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpopmassnber.jahr IS NULL)
|
|
ORDER BY pop.nr, tpop.nr, tpopmassnber.jahr, tpopmassnber.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_koordentsprechenkeinertpop AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Koordinaten entsprechen keiner Teilpopulation:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text,
|
|
pop.x AS "XKoord",
|
|
pop.y AS "YKoord"
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.x IS NOT NULL) AND (pop.y IS NOT NULL) AND (NOT (pop.id IN ( SELECT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.x = tpop.x) AND (tpop.y = tpop.y))))))
|
|
ORDER BY ap.proj_id, pop.ap_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_mit_ber_abnehmend_ohne_tpopber_abnehmend AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
pop.id AS pop_id,
|
|
popber.jahr AS "Berichtjahr",
|
|
'Populationen mit Bericht "abnehmend" ohne Teil-Population mit Bericht "abnehmend":'::text AS hw,
|
|
ARRAY['Projekte'::text, (ap.proj_id)::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((popber.entwicklung = 1) AND (NOT (popber.pop_id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id)))
|
|
WHERE ((tpopber.entwicklung = 1) AND (tpopber.jahr = popber.jahr))))))
|
|
ORDER BY ap.proj_id, ap.id, pop.id, popber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_mit_ber_erloschen_ohne_tpopber_erloschen AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
pop.id AS pop_id,
|
|
popber.jahr AS "Berichtjahr",
|
|
'Populationen mit Bericht "erloschen" ohne Teil-Population mit Bericht "erloschen":'::text AS hw,
|
|
ARRAY['Projekte'::text, (ap.proj_id)::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((popber.entwicklung = 8) AND (NOT (popber.pop_id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id)))
|
|
WHERE ((tpopber.entwicklung = 8) AND (tpopber.jahr = popber.jahr))))))
|
|
ORDER BY ap.proj_id, ap.id, pop.id, popber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_mit_ber_erloschen_und_tpopber_nicht_erloschen AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
pop.id AS pop_id,
|
|
popber.jahr AS "Berichtjahr",
|
|
'Populationen mit Bericht "erloschen" und mindestens einer gemäss Bericht nicht erloschenen Teil-Population:'::text AS hw,
|
|
ARRAY['Projekte'::text, (ap.proj_id)::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((popber.entwicklung = 8) AND (popber.pop_id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id)))
|
|
WHERE ((tpopber.entwicklung < 8) AND (tpopber.jahr = popber.jahr)))))
|
|
ORDER BY ap.proj_id, ap.id, pop.id, popber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_mit_ber_zunehmend_ohne_tpopber_zunehmend AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
pop.id AS pop_id,
|
|
popber.jahr AS "Berichtjahr",
|
|
'Populationen mit Bericht "zunehmend" ohne Teil-Population mit Bericht "zunehmend":'::text AS hw,
|
|
ARRAY['Projekte'::text, (ap.proj_id)::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((popber.entwicklung = 3) AND (NOT (popber.pop_id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id)))
|
|
WHERE ((tpopber.entwicklung = 3) AND (tpopber.jahr = popber.jahr))))))
|
|
ORDER BY ap.proj_id, ap.id, pop.id, popber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_mitstatusunklarohnebegruendung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population mit "Status unklar", ohne Begruendung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE ((pop.status_unklar = true) AND (pop.status_unklar_begruendung IS NULL))
|
|
ORDER BY ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnebekanntseit AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population ohne "bekannt seit":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE (pop.bekannt_seit IS NULL)
|
|
ORDER BY ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnekoord AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Mindestens eine Koordinate fehlt:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE ((pop.x IS NULL) OR (pop.y IS NULL))
|
|
ORDER BY ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnepopname AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population ohne Name:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population: ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE (pop.name IS NULL)
|
|
ORDER BY ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnepopnr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population ohne Nr.:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Name): ', pop.name)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE (pop.nr IS NULL)
|
|
ORDER BY ap.id, pop.name;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnepopstatus AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population ohne Status:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
WHERE (pop.status IS NULL)
|
|
ORDER BY ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnetpop AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Population ohne Teilpopulation:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
LEFT JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpop.id IS NULL)
|
|
ORDER BY ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_ohnetpopmitgleichemstatus AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Keine Teil-Population hat den Status der Population:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE (NOT (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND ((tpop.status = pop.status) OR ((tpop.status = 200) AND (pop.status = 210)) OR ((tpop.status = 210) AND (pop.status = 200)) OR ((tpop.status = 202) AND (pop.status = 211)) OR ((tpop.status = 211) AND (pop.status = 202)))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_popnrmehrdeutig AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Die Nr. ist mehrdeutig:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.ap_id IN ( SELECT DISTINCT pop_1.ap_id
|
|
FROM apflora.pop pop_1
|
|
GROUP BY pop_1.ap_id, pop_1.nr
|
|
HAVING (count(*) > 1))) AND (pop.nr IN ( SELECT DISTINCT pop_1.nr
|
|
FROM apflora.pop pop_1
|
|
GROUP BY pop_1.ap_id, pop_1.nr
|
|
HAVING (count(*) > 1))))
|
|
ORDER BY projekt.id, ap.id, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status101tpopstatusanders AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "ursprünglich, erloschen". Es gibt Teil-Populationen (ausser potentiellen Wuchs-/Ansiedlungsorten) mit abweichendem Status:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 101) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status <> ALL (ARRAY[101, 300]))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status200tpopstatusunzulaessig AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "angesiedelt nach Beginn AP, aktuell". Es gibt Teil-Populationen mit nicht zulässigen Stati ("ursprünglich", "angesiedelt vor Beginn AP, aktuell"):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 200) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status = ANY (ARRAY[100, 101, 210]))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status201tpopstatusunzulaessig AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "Ansaatversuch". Es gibt Teil-Populationen mit nicht zulässigen Stati ("ursprünglich" oder "angesiedelt, aktuell"):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 201) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status = ANY (ARRAY[100, 101, 200, 210]))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status202tpopstatusanders AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "angesiedelt nach Beginn AP, erloschen/nicht etabliert". Es gibt Teil-Populationen mit abweichendem Status:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 202) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status <> 202)))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status210tpopstatusunzulaessig AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "angesiedelt vor Beginn AP, aktuell". Es gibt Teil-Populationen mit nicht zulässigen Stati ("ursprünglich"):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 210) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status = ANY (ARRAY[100, 101]))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status211tpopstatusunzulaessig AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "angesiedelt vor Beginn AP, erloschen/nicht etabliert". Es gibt Teil-Populationen mit nicht zulässigen Stati ("ursprünglich", "angesiedelt, aktuell", "Ansaatversuch", "potentieller Wuchsort"):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 211) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status = ANY (ARRAY[100, 101, 210, 200, 201, 300]))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_status300tpopstatusanders AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "potentieller Wuchs-/Ansiedlungsort". Es gibt aber Teil-Populationen mit abweichendem Status:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = 300) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE ((tpop.pop_id = pop.id) AND (tpop.status <> 300)))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statusaktuellletzterpopbererloschen AS
|
|
WITH lastpopber AS (
|
|
SELECT DISTINCT ON (popber.pop_id) popber.pop_id,
|
|
popber.jahr,
|
|
popber.entwicklung
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
ORDER BY popber.pop_id, popber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "aktuell" (ursprünglich oder angesiedelt) oder potentieller Wuchsort; der letzte Populations-Bericht meldet aber "erloschen" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN lastpopber ON ((pop.id = lastpopber.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = ANY (ARRAY[100, 200, 210, 300])) AND (lastpopber.entwicklung = 8) AND (NOT (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3) AND (tpopmassn.jahr > lastpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statusangesiedeltmittpopurspruenglich AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "angesiedelt", es gibt aber eine Teilpopulation mit Status "urspruenglich":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = ANY (ARRAY[200, 201, 202, 210, 211])) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.status = 100))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statusansaatversuchalletpoperloschen AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "angesiedelt, Ansaatversuch", alle Teilpopulationen sind gemäss Status erloschen:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = 201) AND (EXISTS ( SELECT 1
|
|
FROM apflora.tpop tpop_1
|
|
WHERE ((tpop_1.status = ANY (ARRAY[101, 202, 211])) AND (tpop_1.pop_id = pop.id)))) AND (NOT (EXISTS ( SELECT 1
|
|
FROM apflora.tpop tpop_1
|
|
WHERE ((tpop_1.status <> ALL (ARRAY[101, 202, 211])) AND (tpop_1.pop_id = pop.id))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statusansaatversuchmitaktuellentpop AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "angesiedelt, Ansaatversuch", es gibt aber eine aktuelle Teilpopulation oder eine ursprüngliche erloschene:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = 201) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.status = ANY (ARRAY[100, 101, 200, 210])))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statusansaatversuchmittpopursprerloschen AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "angesiedelt, Ansaatversuch", es gibt aber eine Teilpopulation mit Status "urspruenglich, erloschen":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = 201) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.status = 101))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenletzterpopberabnehmend AS
|
|
WITH lastpopber AS (
|
|
SELECT DISTINCT ON (popber.pop_id) popber.pop_id,
|
|
popber.jahr,
|
|
popber.entwicklung
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
ORDER BY popber.pop_id, popber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "erloschen" (ursprünglich oder angesiedelt), Ansaatversuch oder potentieller Wuchsort; der letzte Populations-Bericht meldet aber "abnehmend" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN lastpopber ON ((pop.id = lastpopber.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 201, 202, 211, 300])) AND (lastpopber.entwicklung = 1) AND (NOT (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3) AND (tpopmassn.jahr > lastpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenletzterpopberaktuell AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "erloschen", der letzte Populations-Bericht meldet aber "aktuell":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN ((apflora.pop
|
|
JOIN (apflora.popber
|
|
JOIN apflora.v_pop_letzterpopber0_overall ON (((v_pop_letzterpopber0_overall.jahr = popber.jahr) AND (v_pop_letzterpopber0_overall.pop_id = popber.pop_id)))) ON ((popber.pop_id = pop.id)))
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((popber.entwicklung < 8) AND (pop.status = ANY (ARRAY[101, 202, 211])) AND (tpop.apber_relevant = 1));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenletzterpopbererloschenmitansiedlung AS
|
|
WITH lastpopber AS (
|
|
SELECT DISTINCT ON (popber.pop_id) popber.pop_id,
|
|
popber.jahr,
|
|
popber.entwicklung
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
ORDER BY popber.pop_id, popber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "erloschen" (ursprünglich oder angesiedelt); der letzte Populations-Bericht meldet "erloschen". Seither gab es aber eine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN lastpopber ON ((pop.id = lastpopber.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 202, 211])) AND (lastpopber.entwicklung = 8) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3) AND (tpopmassn.jahr > lastpopber.jahr)))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenletzterpopberstabil AS
|
|
WITH lastpopber AS (
|
|
SELECT DISTINCT ON (popber.pop_id) popber.pop_id,
|
|
popber.jahr,
|
|
popber.entwicklung
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
ORDER BY popber.pop_id, popber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "erloschen" (ursprünglich oder angesiedelt), Ansaatversuch oder potentieller Wuchsort; der letzte Populations-Bericht meldet aber "stabil" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN lastpopber ON ((pop.id = lastpopber.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 201, 202, 211, 300])) AND (lastpopber.entwicklung = 2) AND (NOT (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3) AND (tpopmassn.jahr > lastpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenletzterpopberunsicher AS
|
|
WITH lastpopber AS (
|
|
SELECT DISTINCT ON (popber.pop_id) popber.pop_id,
|
|
popber.jahr,
|
|
popber.entwicklung
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
ORDER BY popber.pop_id, popber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "erloschen" (ursprünglich oder angesiedelt) oder potentieller Wuchsort; der letzte Populations-Bericht meldet aber "unsicher" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN lastpopber ON ((pop.id = lastpopber.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 202, 211, 300])) AND (lastpopber.entwicklung = 4) AND (NOT (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3) AND (tpopmassn.jahr > lastpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenletzterpopberzunehmend AS
|
|
WITH lastpopber AS (
|
|
SELECT DISTINCT ON (popber.pop_id) popber.pop_id,
|
|
popber.jahr,
|
|
popber.entwicklung
|
|
FROM apflora.popber
|
|
WHERE (popber.jahr IS NOT NULL)
|
|
ORDER BY popber.pop_id, popber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Population: Status ist "erloschen" (ursprünglich oder angesiedelt), Ansaatversuch oder potentieller Wuchsort; der letzte Populations-Bericht meldet aber "zunehmend" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN lastpopber ON ((pop.id = lastpopber.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 201, 202, 211, 300])) AND (lastpopber.entwicklung = 3) AND (NOT (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
WHERE ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3) AND (tpopmassn.jahr > lastpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenmittpopaktuell AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "erloschen" (urspruenglich oder angesiedelt), es gibt aber eine Teilpopulation mit Status "aktuell" (urspruenglich oder angesiedelt):'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 202, 211])) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.status = ANY (ARRAY[100, 200, 210])))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuserloschenmittpopansaatversuch AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "erloschen" (urspruenglich oder angesiedelt), es gibt aber eine Teilpopulation mit Status "angesiedelt, Ansaatversuch":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = ANY (ARRAY[101, 202, 211])) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.status = 201))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_pop_statuspotwuchsortmittpopanders AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Population: Status ist "potenzieller Wuchs-/Ansiedlungsort", es gibt aber eine Teilpopulation mit Status "angesiedelt" oder "urspruenglich":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr): ', pop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.pop ON ((pop.ap_id = ap.id)))
|
|
WHERE ((pop.status = 300) AND (pop.id IN ( SELECT DISTINCT tpop.pop_id
|
|
FROM apflora.tpop
|
|
WHERE (tpop.status < 300))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_popber_ohneentwicklung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Populations-Bericht ohne Entwicklung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Kontroll-Berichte'::text, (popber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Populations-Bericht (Jahr): ', popber.jahr)] AS text,
|
|
popber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((popber.entwicklung IS NULL) AND (popber.jahr IS NOT NULL))
|
|
ORDER BY pop.nr, popber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_popber_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Populations-Bericht ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Kontroll-Berichte'::text, (popber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Populations-Bericht (Jahr): ', popber.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popber ON ((pop.id = popber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (popber.jahr IS NULL)
|
|
ORDER BY pop.nr, popber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_popmassnber_ohneentwicklung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Populations-Massnahmen-Bericht ohne Entwicklung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Massnahmen-Berichte'::text, (popmassnber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Populations-Massnahmen-Bericht (Jahr): ', popmassnber.jahr)] AS text,
|
|
popmassnber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popmassnber ON ((pop.id = popmassnber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((popmassnber.beurteilung IS NULL) AND (popmassnber.jahr IS NOT NULL))
|
|
ORDER BY pop.nr, popmassnber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_popmassnber_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Populations-Massnahmen-Bericht ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Massnahmen-Berichte'::text, (popmassnber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Populations-Massnahmen-Bericht (Jahr): ', popmassnber.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.popmassnber ON ((pop.id = popmassnber.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (popmassnber.jahr IS NULL)
|
|
ORDER BY pop.nr, popmassnber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_erloschenundrelevantaberletztebeobvor1950_maxbeobjahr AS
|
|
SELECT beob.tpop_id AS id,
|
|
max(date_part('year'::text, beob.datum)) AS "MaxJahr"
|
|
FROM apflora.beob
|
|
WHERE ((beob.datum IS NOT NULL) AND (beob.tpop_id IS NOT NULL))
|
|
GROUP BY beob.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_erloschenundrelevantaberletztebeobvor1950 AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'erloschene Teilpopulation "Fuer AP-Bericht relevant" aber letzte Beobachtung vor 1950:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[101, 202, 211])) AND (tpop.apber_relevant = 1) AND (NOT (tpop.id IN ( SELECT DISTINCT tpopkontr.tpop_id
|
|
FROM (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id)))
|
|
WHERE (((tpopkontr.typ)::text <> ALL (ARRAY[('Zwischenziel'::character varying)::text, ('Ziel'::character varying)::text])) AND (tpopkontrzaehl.anzahl > 0))))) AND (tpop.id IN ( SELECT beob.tpop_id
|
|
FROM (apflora.beob
|
|
JOIN apflora.v_qk_tpop_erloschenundrelevantaberletztebeobvor1950_maxbeobjahr ON ((beob.tpop_id = v_qk_tpop_erloschenundrelevantaberletztebeobvor1950_maxbeobjahr.id)))
|
|
WHERE (v_qk_tpop_erloschenundrelevantaberletztebeobvor1950_maxbeobjahr."MaxJahr" < (1950)::double precision))))
|
|
ORDER BY pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_mitstatusaktuellundtpopbererloschen_maxtpopberjahr AS
|
|
SELECT tpopber.tpop_id,
|
|
max(tpopber.jahr) AS "MaxTPopBerJahr"
|
|
FROM apflora.tpopber
|
|
GROUP BY tpopber.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr_letztesjahr AS
|
|
SELECT tpop.id,
|
|
max(tpopkontr.jahr) AS "MaxTPopKontrJahr",
|
|
count(tpopkontr.id) AS "AnzTPopKontr"
|
|
FROM (apflora.tpop
|
|
LEFT JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id)))
|
|
WHERE ((((tpopkontr.typ)::text <> ALL (ARRAY[('Ziel'::character varying)::text, ('Zwischenziel'::character varying)::text])) AND (tpopkontr.jahr IS NOT NULL)) OR ((tpopkontr.typ IS NULL) AND (tpopkontr.jahr IS NULL)))
|
|
GROUP BY tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr_letzteid AS
|
|
SELECT v_tpopkontr_letztesjahr.id,
|
|
max((tpopkontr.id)::text) AS "MaxTPopKontrId",
|
|
max(v_tpopkontr_letztesjahr."AnzTPopKontr") AS "AnzTPopKontr"
|
|
FROM (apflora.tpopkontr
|
|
JOIN apflora.v_tpopkontr_letztesjahr ON (((v_tpopkontr_letztesjahr."MaxTPopKontrJahr" = tpopkontr.jahr) AND (tpopkontr.tpop_id = v_tpopkontr_letztesjahr.id))))
|
|
GROUP BY v_tpopkontr_letztesjahr.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_mitstatusansaatversuchundzaehlungmitanzahl AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
pop.id AS pop_id,
|
|
tpop.id,
|
|
'Teilpopulation mit Status "Ansaatversuch", bei denen in der letzten Kontrolle eine Anzahl festgestellt wurde:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((tpop.status = 201) AND (tpop.id IN ( SELECT DISTINCT tpopkontr.tpop_id
|
|
FROM ((apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id)))
|
|
JOIN apflora.v_tpopkontr_letzteid ON (((v_tpopkontr_letzteid.id = tpopkontr.tpop_id) AND (v_tpopkontr_letzteid."MaxTPopKontrId" = (tpopkontr.id)::text))))
|
|
WHERE (((tpopkontr.typ)::text <> ALL (ARRAY[('Zwischenziel'::character varying)::text, ('Ziel'::character varying)::text])) AND (tpopkontrzaehl.anzahl > 0)))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_mitstatuspotentiellundmassnansiedlung AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
pop.id AS pop_id,
|
|
tpop.id,
|
|
'Teilpopulation mit Status "potentieller Wuchs-/Ansiedlungsort", bei der eine Massnahme des Typs "Ansiedlung" existiert:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((tpop.status = 300) AND (tpop.id IN ( SELECT DISTINCT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE (tpopmassn.typ < 4))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_mitstatuspotentiellundzaehlungmitanzahl AS
|
|
SELECT DISTINCT projekt.id AS proj_id,
|
|
pop.ap_id,
|
|
pop.id AS pop_id,
|
|
tpop.id,
|
|
'Teilpopulation mit Status "potentieller Wuchs-/Ansiedlungsort", bei denen in einer Kontrolle eine Anzahl festgestellt wurde:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = 300) AND (tpop.id IN ( SELECT DISTINCT tpopkontr.tpop_id
|
|
FROM (apflora.tpopkontr
|
|
JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id)))
|
|
WHERE (((tpopkontr.typ)::text <> ALL (ARRAY[('Zwischenziel'::character varying)::text, ('Ziel'::character varying)::text])) AND (tpopkontrzaehl.anzahl > 0)))))
|
|
ORDER BY pop.id, tpop.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_mitstatusunklarohnebegruendung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation mit "Status unklar", ohne Begruendung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.status_unklar = true) AND (tpop.status_unklar_grund IS NULL))
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_ohneapberrelevant AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation ohne "Fuer AP-Bericht relevant":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpop.apber_relevant IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_ohnebekanntseit AS
|
|
SELECT ap.id AS ap_id,
|
|
'Teilpopulation ohne "bekannt seit":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpop.bekannt_seit IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_ohneflurname AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation ohne Flurname:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpop.flurname IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_ohnekoordinaten AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Mindestens eine Koordinate fehlt:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.x IS NULL) OR (tpop.y IS NULL))
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_ohnenr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation ohne Nr.:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpop.nr IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_ohnestatus AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation ohne Status:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpop.status IS NULL)
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_popnrtpopnrmehrdeutig AS
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Die TPop.-Nr. ist mehrdeutig:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.pop_id IN ( SELECT DISTINCT tpop_1.pop_id
|
|
FROM apflora.tpop tpop_1
|
|
GROUP BY tpop_1.pop_id, tpop_1.nr
|
|
HAVING (count(*) > 1))) AND (tpop.nr IN ( SELECT tpop_1.nr
|
|
FROM apflora.tpop tpop_1
|
|
GROUP BY tpop_1.pop_id, tpop_1.nr
|
|
HAVING (count(*) > 1))))
|
|
ORDER BY projekt.id, ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statusaktuellletztertpopbererloschen AS
|
|
WITH lasttpopber AS (
|
|
SELECT DISTINCT ON (tpopber.tpop_id) tpopber.tpop_id,
|
|
tpopber.jahr,
|
|
tpopber.entwicklung
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
ORDER BY tpopber.tpop_id, tpopber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Status ist "aktuell" (ursprünglich oder angesiedelt) oder potentieller Wuchsort; der letzte Teilpopulations-Bericht meldet aber "erloschen" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN lasttpopber ON ((tpop.id = lasttpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[100, 200, 210, 300])) AND (lasttpopber.entwicklung = 8) AND (NOT (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > lasttpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_letztertpopber0_overall AS
|
|
SELECT tpopber.tpop_id,
|
|
max(tpopber.jahr) AS tpopber_jahr
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
GROUP BY tpopber.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuserloschenletzterpopberaktuell AS
|
|
SELECT DISTINCT ap.proj_id,
|
|
pop.ap_id,
|
|
'Teilpopulation: Status ist "erloschen", der letzte Teilpopulations-Bericht meldet aber "aktuell":'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora.v_tpop_letztertpopber0_overall ON (((v_tpop_letztertpopber0_overall.tpopber_jahr = tpopber.jahr) AND (v_tpop_letztertpopber0_overall.tpop_id = tpopber.tpop_id)))) ON ((tpopber.tpop_id = tpop.id))) ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id)))
|
|
WHERE ((tpopber.entwicklung < 8) AND (tpop.status = ANY (ARRAY[101, 202, 211])) AND (NOT (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > tpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuserloschenletztertpopberabnehmend AS
|
|
WITH lasttpopber AS (
|
|
SELECT DISTINCT ON (tpopber.tpop_id) tpopber.tpop_id,
|
|
tpopber.jahr,
|
|
tpopber.entwicklung
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
ORDER BY tpopber.tpop_id, tpopber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Status ist "erloschen" (ursprünglich oder angesiedelt), Ansaatversuch oder potentieller Wuchsort; der letzte Teilpopulations-Bericht meldet aber "abnehmend" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN lasttpopber ON ((tpop.id = lasttpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[101, 201, 202, 211, 300])) AND (lasttpopber.entwicklung = 1) AND (NOT (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > lasttpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuserloschenletztertpopbererloschenmitansiedlung AS
|
|
WITH lasttpopber AS (
|
|
SELECT DISTINCT ON (tpopber.tpop_id) tpopber.tpop_id,
|
|
tpopber.jahr,
|
|
tpopber.entwicklung
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
ORDER BY tpopber.tpop_id, tpopber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Status ist "erloschen" (ursprünglich oder angesiedelt); der letzte Teilpopulations-Bericht meldet "erloschen". Seither gab es aber eine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN lasttpopber ON ((tpop.id = lasttpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[101, 202, 211])) AND (lasttpopber.entwicklung = 8) AND (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > lasttpopber.jahr)))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuserloschenletztertpopberstabil AS
|
|
WITH lasttpopber AS (
|
|
SELECT DISTINCT ON (tpopber.tpop_id) tpopber.tpop_id,
|
|
tpopber.jahr,
|
|
tpopber.entwicklung
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
ORDER BY tpopber.tpop_id, tpopber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Status ist "erloschen" (ursprünglich oder angesiedelt), Ansaatversuch oder potentieller Wuchsort; der letzte Teilpopulations-Bericht meldet aber "stabil" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN lasttpopber ON ((tpop.id = lasttpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[101, 201, 202, 211, 300])) AND (lasttpopber.entwicklung = 2) AND (NOT (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > lasttpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuserloschenletztertpopberunsicher AS
|
|
WITH lasttpopber AS (
|
|
SELECT DISTINCT ON (tpopber.tpop_id) tpopber.tpop_id,
|
|
tpopber.jahr,
|
|
tpopber.entwicklung
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
ORDER BY tpopber.tpop_id, tpopber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Status ist "erloschen" (ursprünglich oder angesiedelt) oder potentieller Wuchsort; der letzte Teilpopulations-Bericht meldet aber "unsicher" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN lasttpopber ON ((tpop.id = lasttpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[101, 202, 211, 300])) AND (lasttpopber.entwicklung = 4) AND (NOT (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > lasttpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuserloschenletztertpopberzunehmend AS
|
|
WITH lasttpopber AS (
|
|
SELECT DISTINCT ON (tpopber.tpop_id) tpopber.tpop_id,
|
|
tpopber.jahr,
|
|
tpopber.entwicklung
|
|
FROM apflora.tpopber
|
|
WHERE (tpopber.jahr IS NOT NULL)
|
|
ORDER BY tpopber.tpop_id, tpopber.jahr DESC
|
|
)
|
|
SELECT projekt.id AS proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation: Status ist "erloschen" (ursprünglich oder angesiedelt), Ansaatversuch oder potentieller Wuchsort; der letzte Teilpopulations-Bericht meldet aber "zunehmend" und es gab seither keine Ansiedlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.projekt
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN lasttpopber ON ((tpop.id = lasttpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((projekt.id = ap.proj_id)))
|
|
WHERE ((tpop.status = ANY (ARRAY[101, 201, 202, 211, 300])) AND (lasttpopber.entwicklung = 3) AND (NOT (tpop.id IN ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpop.id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr IS NOT NULL) AND (tpopmassn.jahr > lasttpopber.jahr))))));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpop_statuspotentiellfuerapberrelevant AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulation mit Status "potenzieller Wuchs-/Ansiedlungsort" und "Fuer AP-Bericht relevant?" = ja:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.status = 300) AND (tpop.apber_relevant = 1))
|
|
ORDER BY ap.id, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpopber_ohneentwicklung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulations-Bericht ohne Entwicklung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Kontroll-Berichte'::text, (tpopber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Teilpopulations-Bericht (Jahr): ', tpopber.jahr)] AS text,
|
|
tpopber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpopber.entwicklung IS NULL) AND (tpopber.jahr IS NOT NULL))
|
|
ORDER BY pop.nr, tpop.nr, tpopber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_tpopber_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Teilpopulations-Bericht ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Kontroll-Berichte'::text, (tpopber.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Teilpopulations-Bericht (id): ', tpopber.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (tpopber.jahr IS NULL)
|
|
ORDER BY pop.nr, tpop.nr, tpopber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_ziel_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Ziel ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Ziele'::text, (ziel.id)::text] AS url,
|
|
ARRAY[concat('Ziel (id): ', ziel.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.ziel ON ((ap.id = ziel.ap_id)))
|
|
WHERE ((ziel.jahr IS NULL) OR (ziel.jahr = 1))
|
|
ORDER BY ziel.id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_ziel_ohnetyp AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Ziel ohne Typ:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Ziele'::text, (ziel.id)::text] AS url,
|
|
ARRAY[concat('Ziel (Jahr): ', ziel.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.ziel ON ((ap.id = ziel.ap_id)))
|
|
WHERE (ziel.typ IS NULL)
|
|
ORDER BY ziel.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_ziel_ohneziel AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Ziel ohne Ziel:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Ziele'::text, (ziel.id)::text] AS url,
|
|
ARRAY[concat('Ziel (Jahr): ', ziel.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.ziel ON ((ap.id = ziel.ap_id)))
|
|
WHERE (ziel.bezeichnung IS NULL)
|
|
ORDER BY ziel.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_zielber_ohneentwicklung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Ziel-Bericht ohne Entwicklung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Ziele'::text, (ziel.id)::text, 'Berichte'::text, (zielber.id)::text] AS url,
|
|
ARRAY[concat('Ziel (Jahr): ', ziel.jahr), concat('Ziel-Bericht (Jahr): ', zielber.jahr)] AS text,
|
|
zielber.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.ziel
|
|
JOIN apflora.zielber ON ((ziel.id = zielber.ziel_id))) ON ((ap.id = ziel.ap_id)))
|
|
WHERE ((zielber.erreichung IS NULL) AND (zielber.jahr IS NOT NULL))
|
|
ORDER BY ziel.jahr, ziel.id, zielber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_qk_zielber_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Ziel-Bericht ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Ziele'::text, (ziel.id)::text, 'Berichte'::text, (zielber.id)::text] AS url,
|
|
ARRAY[concat('Ziel (Jahr): ', ziel.jahr), concat('Ziel-Bericht (Jahr): ', zielber.jahr)] AS text
|
|
FROM (apflora.ap
|
|
JOIN (apflora.ziel
|
|
JOIN apflora.zielber ON ((ziel.id = zielber.ziel_id))) ON ((ap.id = ziel.ap_id)))
|
|
WHERE (zielber.jahr IS NULL)
|
|
ORDER BY ziel.jahr, ziel.id, zielber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.familie,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
tpop.id,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
pop_status_werte_2.text AS status,
|
|
tpop.bekannt_seit,
|
|
tpop.status_unklar,
|
|
tpop.status_unklar_grund,
|
|
tpop.x,
|
|
tpop.y,
|
|
tpop.radius,
|
|
tpop.hoehe,
|
|
tpop.exposition,
|
|
tpop.klima,
|
|
tpop.neigung,
|
|
tpop.beschreibung,
|
|
tpop.kataster_nr,
|
|
tpop.apber_relevant,
|
|
tpop.eigentuemer,
|
|
tpop.kontakt,
|
|
tpop.nutzungszone,
|
|
tpop.bewirtschafter,
|
|
tpop.bewirtschaftung,
|
|
tpop.changed,
|
|
tpop.changed_by
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_letztekontrid AS
|
|
SELECT tpop.id,
|
|
v_tpopkontr_letzteid."MaxTPopKontrId",
|
|
v_tpopkontr_letzteid."AnzTPopKontr"
|
|
FROM (apflora.tpop
|
|
LEFT JOIN apflora.v_tpopkontr_letzteid ON ((tpop.id = v_tpopkontr_letzteid.id)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.familie,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
apflora_adresse_1.name AS ap_bearbeiter,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
pop_status_werte_2.text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpopkontr.id,
|
|
tpopkontr.jahr,
|
|
tpopkontr.datum,
|
|
tpopkontr_typ_werte.text AS typ,
|
|
adresse.name AS bearbeiter,
|
|
tpopkontr.ueberlebensrate,
|
|
tpopkontr.vitalitaet,
|
|
tpop_entwicklung_werte.text AS entwicklung,
|
|
tpopkontr.ursachen,
|
|
tpopkontr.erfolgsbeurteilung,
|
|
tpopkontr.umsetzung_aendern,
|
|
tpopkontr.kontrolle_aendern,
|
|
tpopkontr.bemerkungen,
|
|
tpopkontr.lr_delarze,
|
|
tpopkontr.lr_umgebung_delarze,
|
|
tpopkontr.vegetationstyp,
|
|
tpopkontr.konkurrenz,
|
|
tpopkontr.moosschicht,
|
|
tpopkontr.krautschicht,
|
|
tpopkontr.strauchschicht,
|
|
tpopkontr.baumschicht,
|
|
tpopkontr.boden_typ,
|
|
tpopkontr.boden_kalkgehalt,
|
|
tpopkontr.boden_durchlaessigkeit,
|
|
tpopkontr.boden_humus,
|
|
tpopkontr.boden_naehrstoffgehalt,
|
|
tpopkontr.boden_abtrag,
|
|
tpopkontr.wasserhaushalt,
|
|
tpopkontr_idbiotuebereinst_werte.text AS idealbiotop_uebereinstimmung,
|
|
tpopkontr.handlungsbedarf,
|
|
tpopkontr.flaeche_ueberprueft,
|
|
tpopkontr.flaeche,
|
|
tpopkontr.plan_vorhanden,
|
|
tpopkontr.deckung_vegetation,
|
|
tpopkontr.deckung_nackter_boden,
|
|
tpopkontr.deckung_ap_art,
|
|
tpopkontr.jungpflanzen_vorhanden,
|
|
tpopkontr.vegetationshoehe_maximum,
|
|
tpopkontr.vegetationshoehe_mittel,
|
|
tpopkontr.gefaehrdung,
|
|
tpopkontr.changed,
|
|
tpopkontr.changed_by,
|
|
array_to_string(array_agg(tpopkontrzaehl.anzahl), ', '::text) AS zaehlung_anzahlen,
|
|
string_agg((tpopkontrzaehl_einheit_werte.text)::text, ', '::text) AS zaehlung_einheiten,
|
|
string_agg((tpopkontrzaehl_methode_werte.text)::text, ', '::text) AS zaehlung_methoden
|
|
FROM (apflora.pop_status_werte pop_status_werte_2
|
|
RIGHT JOIN (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN ((((((apflora.tpopkontr
|
|
LEFT JOIN apflora.tpopkontr_typ_werte ON (((tpopkontr.typ)::text = (tpopkontr_typ_werte.text)::text)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopkontr.entwicklung = tpop_entwicklung_werte.code)))
|
|
LEFT JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id)))
|
|
LEFT JOIN apflora.tpopkontrzaehl_einheit_werte ON ((tpopkontrzaehl.einheit = tpopkontrzaehl_einheit_werte.code)))
|
|
LEFT JOIN apflora.tpopkontrzaehl_methode_werte ON ((tpopkontrzaehl.methode = tpopkontrzaehl_methode_werte.code))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.tpopkontr_idbiotuebereinst_werte ON ((tpopkontr.idealbiotop_uebereinstimmung = tpopkontr_idbiotuebereinst_werte.code)))
|
|
LEFT JOIN apflora.adresse apflora_adresse_1 ON ((ap.bearbeiter = apflora_adresse_1.id))) ON ((pop_status_werte_2.code = tpop.status)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
GROUP BY ap.id, ae_eigenschaften.familie, ae_eigenschaften.artname, ap_bearbstand_werte.text, ap.start_jahr, ap_umsetzung_werte.text, apflora_adresse_1.name, pop.id, pop.nr, pop.name, pop_status_werte.text, pop.bekannt_seit, tpop.id, tpop.nr, tpop.gemeinde, tpop.flurname, pop_status_werte_2.text, tpop.bekannt_seit, tpop.status_unklar, tpop.status_unklar_grund, tpop.x, tpop.y, tpop.radius, tpop.hoehe, tpop.exposition, tpop.klima, tpop.neigung, tpop.beschreibung, tpop.kataster_nr, tpop.apber_relevant, tpop.eigentuemer, tpop.kontakt, tpop.nutzungszone, tpop.bewirtschafter, tpop.bewirtschaftung, tpopkontr.id, tpopkontr.tpop_id, tpopkontr.jahr, tpopkontr.datum, tpopkontr_typ_werte.text, adresse.name, tpopkontr.ueberlebensrate, tpopkontr.vitalitaet, tpop_entwicklung_werte.text, tpopkontr.ursachen, tpopkontr.erfolgsbeurteilung, tpopkontr.umsetzung_aendern, tpopkontr.kontrolle_aendern, tpopkontr.bemerkungen, tpopkontr.lr_delarze, tpopkontr.lr_umgebung_delarze, tpopkontr.vegetationstyp, tpopkontr.konkurrenz, tpopkontr.moosschicht, tpopkontr.krautschicht, tpopkontr.strauchschicht, tpopkontr.baumschicht, tpopkontr.boden_typ, tpopkontr.boden_kalkgehalt, tpopkontr.boden_durchlaessigkeit, tpopkontr.boden_humus, tpopkontr.boden_naehrstoffgehalt, tpopkontr.boden_abtrag, tpopkontr.wasserhaushalt, tpopkontr_idbiotuebereinst_werte.text, tpopkontr.handlungsbedarf, tpopkontr.flaeche_ueberprueft, tpopkontr.flaeche, tpopkontr.plan_vorhanden, tpopkontr.deckung_vegetation, tpopkontr.deckung_nackter_boden, tpopkontr.deckung_ap_art, tpopkontr.jungpflanzen_vorhanden, tpopkontr.vegetationshoehe_maximum, tpopkontr.vegetationshoehe_mittel, tpopkontr.gefaehrdung, tpopkontr.changed, tpopkontr.changed_by
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_anzkontrinklletzter AS
|
|
SELECT v_tpop.ap_id,
|
|
v_tpop.familie,
|
|
v_tpop.artname,
|
|
v_tpop.ap_bearbeitung,
|
|
v_tpop.ap_start_jahr,
|
|
v_tpop.ap_umsetzung,
|
|
v_tpop.ap_bearbeiter,
|
|
v_tpop.pop_id,
|
|
v_tpop.pop_nr,
|
|
v_tpop.pop_name,
|
|
v_tpop.pop_status,
|
|
v_tpop.pop_bekannt_seit,
|
|
v_tpop.pop_status_unklar,
|
|
v_tpop.pop_status_unklar_begruendung,
|
|
v_tpop.pop_x,
|
|
v_tpop.pop_y,
|
|
v_tpop.id,
|
|
v_tpop.nr,
|
|
v_tpop.gemeinde,
|
|
v_tpop.flurname,
|
|
v_tpop.status,
|
|
v_tpop.bekannt_seit,
|
|
v_tpop.status_unklar,
|
|
v_tpop.status_unklar_grund,
|
|
v_tpop.x,
|
|
v_tpop.y,
|
|
v_tpop.radius,
|
|
v_tpop.hoehe,
|
|
v_tpop.exposition,
|
|
v_tpop.klima,
|
|
v_tpop.neigung,
|
|
v_tpop.beschreibung,
|
|
v_tpop.kataster_nr,
|
|
v_tpop.apber_relevant,
|
|
v_tpop.eigentuemer,
|
|
v_tpop.kontakt,
|
|
v_tpop.nutzungszone,
|
|
v_tpop.bewirtschafter,
|
|
v_tpop.bewirtschaftung,
|
|
v_tpop.changed,
|
|
v_tpop.changed_by,
|
|
v_tpop_letztekontrid."AnzTPopKontr" AS anzahl_kontrollen,
|
|
v_tpopkontr.id AS kontr_id,
|
|
v_tpopkontr.jahr AS kontr_jahr,
|
|
v_tpopkontr.datum AS kontr_datum,
|
|
v_tpopkontr.typ AS kontr_typ,
|
|
v_tpopkontr.bearbeiter AS kontr_bearbeiter,
|
|
v_tpopkontr.ueberlebensrate AS kontr_ueberlebensrate,
|
|
v_tpopkontr.vitalitaet AS kontr_vitalitaet,
|
|
v_tpopkontr.entwicklung AS kontr_entwicklung,
|
|
v_tpopkontr.ursachen AS kontr_ursachen,
|
|
v_tpopkontr.erfolgsbeurteilung AS kontr_erfolgsbeurteilung,
|
|
v_tpopkontr.umsetzung_aendern AS kontr_umsetzung_aendern,
|
|
v_tpopkontr.kontrolle_aendern AS kontr_kontrolle_aendern,
|
|
v_tpopkontr.bemerkungen AS kontr_bemerkungen,
|
|
v_tpopkontr.lr_delarze AS kontr_lr_delarze,
|
|
v_tpopkontr.lr_umgebung_delarze AS kontr_lr_umgebung_delarze,
|
|
v_tpopkontr.vegetationstyp AS kontr_vegetationstyp,
|
|
v_tpopkontr.konkurrenz AS kontr_konkurrenz,
|
|
v_tpopkontr.moosschicht AS kontr_moosschicht,
|
|
v_tpopkontr.krautschicht AS kontr_krautschicht,
|
|
v_tpopkontr.strauchschicht AS kontr_strauchschicht,
|
|
v_tpopkontr.baumschicht AS kontr_baumschicht,
|
|
v_tpopkontr.boden_typ AS kontr_boden_typ,
|
|
v_tpopkontr.boden_kalkgehalt AS kontr_boden_kalkgehalt,
|
|
v_tpopkontr.boden_durchlaessigkeit AS kontr_boden_durchlaessigkeit,
|
|
v_tpopkontr.boden_humus AS kontr_boden_humus,
|
|
v_tpopkontr.boden_naehrstoffgehalt AS kontr_boden_naehrstoffgehalt,
|
|
v_tpopkontr.boden_abtrag AS kontr_boden_abtrag,
|
|
v_tpopkontr.wasserhaushalt AS kontr_wasserhaushalt,
|
|
v_tpopkontr.idealbiotop_uebereinstimmung AS kontr_idealbiotop_uebereinstimmung,
|
|
v_tpopkontr.handlungsbedarf AS kontr_handlungsbedarf,
|
|
v_tpopkontr.flaeche_ueberprueft AS kontr_flaeche_ueberprueft,
|
|
v_tpopkontr.flaeche AS kontr_flaeche,
|
|
v_tpopkontr.plan_vorhanden AS kontr_plan_vorhanden,
|
|
v_tpopkontr.deckung_vegetation AS kontr_deckung_vegetation,
|
|
v_tpopkontr.deckung_nackter_boden AS kontr_deckung_nackter_boden,
|
|
v_tpopkontr.deckung_ap_art AS kontr_deckung_ap_art,
|
|
v_tpopkontr.jungpflanzen_vorhanden AS kontr_jungpflanzen_vorhanden,
|
|
v_tpopkontr.vegetationshoehe_maximum AS kontr_vegetationshoehe_maximum,
|
|
v_tpopkontr.vegetationshoehe_mittel AS kontr_vegetationshoehe_mittel,
|
|
v_tpopkontr.gefaehrdung AS kontr_gefaehrdung,
|
|
v_tpopkontr.changed AS kontr_changed,
|
|
v_tpopkontr.changed_by AS kontr_changed_by,
|
|
v_tpopkontr.zaehlung_anzahlen,
|
|
v_tpopkontr.zaehlung_einheiten,
|
|
v_tpopkontr.zaehlung_methoden
|
|
FROM ((apflora.v_tpop_letztekontrid
|
|
LEFT JOIN apflora.v_tpopkontr ON ((v_tpop_letztekontrid."MaxTPopKontrId" = (v_tpopkontr.id)::text)))
|
|
JOIN apflora.v_tpop ON ((v_tpop_letztekontrid.id = v_tpop.id)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopber_letzteid AS
|
|
SELECT tpopkontr.tpop_id,
|
|
( SELECT tpopber_1.id
|
|
FROM apflora.tpopber tpopber_1
|
|
WHERE (tpopber_1.tpop_id = tpopkontr.tpop_id)
|
|
ORDER BY tpopber_1.changed DESC
|
|
LIMIT 1) AS tpopber_letzte_id,
|
|
max(tpopber.jahr) AS tpopber_jahr_max,
|
|
count(tpopber.id) AS tpopber_anz
|
|
FROM (apflora.tpopkontr
|
|
JOIN apflora.tpopber ON ((tpopkontr.tpop_id = tpopber.tpop_id)))
|
|
WHERE (((tpopkontr.typ)::text <> ALL (ARRAY[('Ziel'::character varying)::text, ('Zwischenziel'::character varying)::text])) AND (tpopber.jahr IS NOT NULL))
|
|
GROUP BY tpopkontr.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopber_mitletzterid AS
|
|
SELECT tpopber.tpop_id,
|
|
v_tpopber_letzteid.tpopber_anz,
|
|
tpopber.id,
|
|
tpopber.jahr,
|
|
tpop_entwicklung_werte.text AS entwicklung,
|
|
tpopber.bemerkungen,
|
|
tpopber.changed,
|
|
tpopber.changed_by
|
|
FROM ((apflora.v_tpopber_letzteid
|
|
JOIN apflora.tpopber ON (((v_tpopber_letzteid.tpopber_letzte_id = tpopber.id) AND (v_tpopber_letzteid.tpop_id = tpopber.tpop_id))))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopber.entwicklung = tpop_entwicklung_werte.code)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_anzkontrinklletzterundletztertpopber AS
|
|
SELECT v_tpop_anzkontrinklletzter.ap_id,
|
|
v_tpop_anzkontrinklletzter.familie,
|
|
v_tpop_anzkontrinklletzter.artname,
|
|
v_tpop_anzkontrinklletzter.ap_bearbeitung,
|
|
v_tpop_anzkontrinklletzter.ap_start_jahr,
|
|
v_tpop_anzkontrinklletzter.ap_umsetzung,
|
|
v_tpop_anzkontrinklletzter.ap_bearbeiter,
|
|
v_tpop_anzkontrinklletzter.pop_id,
|
|
v_tpop_anzkontrinklletzter.pop_nr,
|
|
v_tpop_anzkontrinklletzter.pop_name,
|
|
v_tpop_anzkontrinklletzter.pop_status,
|
|
v_tpop_anzkontrinklletzter.pop_bekannt_seit,
|
|
v_tpop_anzkontrinklletzter.pop_status_unklar,
|
|
v_tpop_anzkontrinklletzter.pop_status_unklar_begruendung,
|
|
v_tpop_anzkontrinklletzter.pop_x,
|
|
v_tpop_anzkontrinklletzter.pop_y,
|
|
v_tpop_anzkontrinklletzter.id,
|
|
v_tpop_anzkontrinklletzter.nr,
|
|
v_tpop_anzkontrinklletzter.gemeinde,
|
|
v_tpop_anzkontrinklletzter.flurname,
|
|
v_tpop_anzkontrinklletzter.status,
|
|
v_tpop_anzkontrinklletzter.bekannt_seit,
|
|
v_tpop_anzkontrinklletzter.status_unklar,
|
|
v_tpop_anzkontrinklletzter.status_unklar_grund,
|
|
v_tpop_anzkontrinklletzter.x,
|
|
v_tpop_anzkontrinklletzter.y,
|
|
v_tpop_anzkontrinklletzter.radius,
|
|
v_tpop_anzkontrinklletzter.hoehe,
|
|
v_tpop_anzkontrinklletzter.exposition,
|
|
v_tpop_anzkontrinklletzter.klima,
|
|
v_tpop_anzkontrinklletzter.neigung,
|
|
v_tpop_anzkontrinklletzter.beschreibung,
|
|
v_tpop_anzkontrinklletzter.kataster_nr,
|
|
v_tpop_anzkontrinklletzter.apber_relevant,
|
|
v_tpop_anzkontrinklletzter.eigentuemer,
|
|
v_tpop_anzkontrinklletzter.kontakt,
|
|
v_tpop_anzkontrinklletzter.nutzungszone,
|
|
v_tpop_anzkontrinklletzter.bewirtschafter,
|
|
v_tpop_anzkontrinklletzter.bewirtschaftung,
|
|
v_tpop_anzkontrinklletzter.changed,
|
|
v_tpop_anzkontrinklletzter.changed_by,
|
|
v_tpop_anzkontrinklletzter.anzahl_kontrollen,
|
|
v_tpop_anzkontrinklletzter.kontr_id,
|
|
v_tpop_anzkontrinklletzter.kontr_jahr,
|
|
v_tpop_anzkontrinklletzter.kontr_datum,
|
|
v_tpop_anzkontrinklletzter.kontr_typ,
|
|
v_tpop_anzkontrinklletzter.kontr_bearbeiter,
|
|
v_tpop_anzkontrinklletzter.kontr_ueberlebensrate,
|
|
v_tpop_anzkontrinklletzter.kontr_vitalitaet,
|
|
v_tpop_anzkontrinklletzter.kontr_entwicklung,
|
|
v_tpop_anzkontrinklletzter.kontr_ursachen,
|
|
v_tpop_anzkontrinklletzter.kontr_erfolgsbeurteilung,
|
|
v_tpop_anzkontrinklletzter.kontr_umsetzung_aendern,
|
|
v_tpop_anzkontrinklletzter.kontr_kontrolle_aendern,
|
|
v_tpop_anzkontrinklletzter.kontr_bemerkungen,
|
|
v_tpop_anzkontrinklletzter.kontr_lr_delarze,
|
|
v_tpop_anzkontrinklletzter.kontr_lr_umgebung_delarze,
|
|
v_tpop_anzkontrinklletzter.kontr_vegetationstyp,
|
|
v_tpop_anzkontrinklletzter.kontr_konkurrenz,
|
|
v_tpop_anzkontrinklletzter.kontr_moosschicht,
|
|
v_tpop_anzkontrinklletzter.kontr_krautschicht,
|
|
v_tpop_anzkontrinklletzter.kontr_strauchschicht,
|
|
v_tpop_anzkontrinklletzter.kontr_baumschicht,
|
|
v_tpop_anzkontrinklletzter.kontr_boden_typ,
|
|
v_tpop_anzkontrinklletzter.kontr_boden_kalkgehalt,
|
|
v_tpop_anzkontrinklletzter.kontr_boden_durchlaessigkeit,
|
|
v_tpop_anzkontrinklletzter.kontr_boden_humus,
|
|
v_tpop_anzkontrinklletzter.kontr_boden_naehrstoffgehalt,
|
|
v_tpop_anzkontrinklletzter.kontr_boden_abtrag,
|
|
v_tpop_anzkontrinklletzter.kontr_wasserhaushalt,
|
|
v_tpop_anzkontrinklletzter.kontr_idealbiotop_uebereinstimmung,
|
|
v_tpop_anzkontrinklletzter.kontr_handlungsbedarf,
|
|
v_tpop_anzkontrinklletzter.kontr_flaeche_ueberprueft,
|
|
v_tpop_anzkontrinklletzter.kontr_flaeche,
|
|
v_tpop_anzkontrinklletzter.kontr_plan_vorhanden,
|
|
v_tpop_anzkontrinklletzter.kontr_deckung_vegetation,
|
|
v_tpop_anzkontrinklletzter.kontr_deckung_nackter_boden,
|
|
v_tpop_anzkontrinklletzter.kontr_deckung_ap_art,
|
|
v_tpop_anzkontrinklletzter.kontr_jungpflanzen_vorhanden,
|
|
v_tpop_anzkontrinklletzter.kontr_vegetationshoehe_maximum,
|
|
v_tpop_anzkontrinklletzter.kontr_vegetationshoehe_mittel,
|
|
v_tpop_anzkontrinklletzter.kontr_gefaehrdung,
|
|
v_tpop_anzkontrinklletzter.kontr_changed,
|
|
v_tpop_anzkontrinklletzter.kontr_changed_by,
|
|
v_tpop_anzkontrinklletzter.zaehlung_anzahlen,
|
|
v_tpop_anzkontrinklletzter.zaehlung_einheiten,
|
|
v_tpop_anzkontrinklletzter.zaehlung_methoden,
|
|
v_tpopber_mitletzterid.tpopber_anz,
|
|
v_tpopber_mitletzterid.id AS tpopber_id,
|
|
v_tpopber_mitletzterid.jahr AS tpopber_jahr,
|
|
v_tpopber_mitletzterid.entwicklung AS tpopber_entwicklung,
|
|
v_tpopber_mitletzterid.bemerkungen AS tpopber_bemerkungen,
|
|
v_tpopber_mitletzterid.changed AS tpopber_changed,
|
|
v_tpopber_mitletzterid.changed_by AS tpopber_changed_by
|
|
FROM (apflora.v_tpop_anzkontrinklletzter
|
|
LEFT JOIN apflora.v_tpopber_mitletzterid ON ((v_tpop_anzkontrinklletzter.id = v_tpopber_mitletzterid.tpop_id)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_anzmassn AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.familie,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
tpop.id,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
pop_status_werte_2.text AS status,
|
|
tpop.bekannt_seit,
|
|
tpop.status_unklar,
|
|
tpop.status_unklar_grund,
|
|
tpop.x,
|
|
tpop.y,
|
|
tpop.radius,
|
|
tpop.hoehe,
|
|
tpop.exposition,
|
|
tpop.klima,
|
|
tpop.neigung,
|
|
tpop.beschreibung,
|
|
tpop.kataster_nr,
|
|
tpop.apber_relevant,
|
|
tpop.eigentuemer,
|
|
tpop.kontakt,
|
|
tpop.nutzungszone,
|
|
tpop.bewirtschafter,
|
|
tpop.bewirtschaftung,
|
|
count(tpopmassn.id) AS anzahl_massnahmen
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.tpopmassn ON ((tpop.id = tpopmassn.tpop_id)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
GROUP BY ap.id, ae_eigenschaften.familie, ae_eigenschaften.artname, ap_bearbstand_werte.text, ap.start_jahr, ap_umsetzung_werte.text, pop.id, pop.nr, pop.name, pop_status_werte.text, pop.bekannt_seit, pop.status_unklar, pop.status_unklar_begruendung, pop.x, pop.y, tpop.id, tpop.nr, tpop.gemeinde, tpop.flurname, pop_status_werte_2.text, tpop.bekannt_seit, tpop.status_unklar, tpop.status_unklar_grund, tpop.x, tpop.y, tpop.radius, tpop.hoehe, tpop.exposition, tpop.klima, tpop.neigung, tpop.beschreibung, tpop.kataster_nr, tpop.apber_relevant, tpop.eigentuemer, tpop.kontakt, tpop.nutzungszone, tpop.bewirtschafter, tpop.bewirtschaftung
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_for_ap AS
|
|
SELECT tpop.id_old,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
tpop.x,
|
|
tpop.y,
|
|
tpop.radius,
|
|
tpop.hoehe,
|
|
tpop.exposition,
|
|
tpop.klima,
|
|
tpop.neigung,
|
|
tpop.beschreibung,
|
|
tpop.kataster_nr,
|
|
tpop.status,
|
|
tpop.status_unklar_grund,
|
|
tpop.apber_relevant,
|
|
tpop.bekannt_seit,
|
|
tpop.eigentuemer,
|
|
tpop.kontakt,
|
|
tpop.nutzungszone,
|
|
tpop.bewirtschafter,
|
|
tpop.bewirtschaftung,
|
|
tpop.bemerkungen,
|
|
tpop.changed,
|
|
tpop.changed_by,
|
|
tpop.id,
|
|
tpop.pop_id,
|
|
tpop.status_unklar,
|
|
ap.id AS ap_id
|
|
FROM ((apflora.ap
|
|
JOIN apflora.pop ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_fuergis_read AS
|
|
SELECT (ap.id)::text AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
(pop.id)::text AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
(tpop.id)::text AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
pop_status_werte_2.text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
(tpop.changed)::timestamp without time zone AS tpop_changed,
|
|
tpop.changed_by AS tpop_changed_by
|
|
FROM ((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
WHERE ((tpop.y > 0) AND (tpop.x > 0))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_fuergis_write AS
|
|
SELECT (tpop.pop_id)::text AS pop_id,
|
|
(tpop.id)::text AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpop.status AS tpop_status,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpop.bemerkungen AS tpop_bemerkungen,
|
|
(tpop.changed)::timestamp without time zone AS tpop_changed,
|
|
tpop.changed_by AS tpop_changed_by
|
|
FROM apflora.tpop;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_kml AS
|
|
SELECT ae_eigenschaften.artname AS "Art",
|
|
concat(pop.nr, '/', tpop.nr) AS "Label",
|
|
"substring"(concat('Population: ', pop.nr, ' ', pop.name, '<br /> Teilpopulation: ', tpop.nr, ' ', tpop.gemeinde, ' ', tpop.flurname), 1, 225) AS "Inhalte",
|
|
round(((((((2.6779094 + (4.728982 * (((tpop.x - 600000))::numeric / (1000000)::numeric))) + ((0.791484 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) + (((0.1306 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0436 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Laengengrad",
|
|
round((((((((16.9023892 + (3.238272 * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - ((0.270978 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric))) - ((0.002528 * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0447 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - (((0.014 * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Breitengrad",
|
|
concat('http://www.apflora.ch/Projekte/4635372c-431c-11e8-bb30-e77f6cdd35a6/Aktionspläne/', ap.id, '/Populationen/', pop.id, '/Teil-Populationen/', tpop.id) AS url
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.y IS NOT NULL) AND (tpop.y IS NOT NULL))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_kmlnamen AS
|
|
SELECT ae_eigenschaften.artname AS "Art",
|
|
concat(ae_eigenschaften.artname, ' ', pop.nr, '/', tpop.nr) AS "Label",
|
|
"substring"(concat('Population: ', pop.nr, ' ', pop.name, '<br /> Teilpopulation: ', tpop.nr, ' ', tpop.gemeinde, ' ', tpop.flurname), 1, 225) AS "Inhalte",
|
|
round(((((((2.6779094 + (4.728982 * (((tpop.x - 600000))::numeric / (1000000)::numeric))) + ((0.791484 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) + (((0.1306 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0436 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Laengengrad",
|
|
round((((((((16.9023892 + (3.238272 * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - ((0.270978 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric))) - ((0.002528 * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - (((0.0447 * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.x - 600000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) - (((0.014 * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric)) * (((tpop.y - 200000))::numeric / (1000000)::numeric))) * (100)::numeric) / (36)::numeric), 10) AS "Breitengrad",
|
|
concat('http://www.apflora.ch/Projekte/4635372c-431c-11e8-bb30-e77f6cdd35a6/Aktionspläne/', ap.id, '/Populationen/', pop.id, '/Teil-Populationen/', tpop.id) AS url
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.y IS NOT NULL) AND (tpop.y IS NOT NULL))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_kontrjahrundberjahrundmassnjahr AS
|
|
SELECT tpop.id,
|
|
tpopber.jahr AS "Jahr"
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopber ON ((tpop.id = tpopber.tpop_id)))
|
|
UNION
|
|
SELECT tpop.id,
|
|
tpopmassnber.jahr AS "Jahr"
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopmassnber ON ((tpop.id = tpopmassnber.tpop_id)))
|
|
UNION
|
|
SELECT tpop.id,
|
|
tpopkontr.jahr AS "Jahr"
|
|
FROM (apflora.tpop
|
|
JOIN apflora.tpopkontr ON ((tpop.id = tpopkontr.tpop_id)))
|
|
ORDER BY 2;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_mitapaberohnestatus AS
|
|
SELECT ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
tpop.nr,
|
|
tpop.flurname,
|
|
tpop.status
|
|
FROM ((apflora.ap_bearbstand_werte
|
|
JOIN (apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id))) ON ((ap_bearbstand_werte.code = ap.bearbeitung)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.status IS NULL) AND (ap.bearbeitung = 3))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_ohneapberichtrelevant AS
|
|
SELECT ae_eigenschaften.artname AS "Artname",
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.id,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
tpop.apber_relevant
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((tpop.pop_id = pop.id))) ON ((pop.ap_id = ap.id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE (tpop.apber_relevant IS NULL)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_ohnebekanntseit AS
|
|
SELECT ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
tpop.bekannt_seit
|
|
FROM (((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE ((tpop.bekannt_seit IS NULL) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_ohnekoord AS
|
|
SELECT ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
tpop.x,
|
|
tpop.y
|
|
FROM (((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
WHERE (((tpop.x IS NULL) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))) OR ((tpop.y IS NULL) AND ((ap.bearbeitung >= 1) AND (ap.bearbeitung <= 3))))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_popberundmassnber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
"domPopHerkunft_1".text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpopber.id AS tpopber_id,
|
|
tpopber.jahr AS tpopber_jahr,
|
|
tpop_entwicklung_werte.text AS tpopber_entwicklung,
|
|
tpopber.bemerkungen AS tpopber_bemerkungen,
|
|
tpopber.changed AS tpopber_changed,
|
|
tpopber.changed_by AS tpopber_changed_by,
|
|
tpopmassnber.id AS tpopmassnber_id,
|
|
tpopmassnber.jahr AS tpopmassnber_jahr,
|
|
tpopmassn_erfbeurt_werte.text AS tpopmassnber_entwicklung,
|
|
tpopmassnber.bemerkungen AS tpopmassnber_bemerkungen,
|
|
tpopmassnber.changed AS tpopmassnber_changed,
|
|
tpopmassnber.changed_by AS tpopmassnber_changed_by
|
|
FROM (((((((((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
RIGHT JOIN (apflora.pop
|
|
RIGHT JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte "domPopHerkunft_1" ON ((tpop.status = "domPopHerkunft_1".code)))
|
|
LEFT JOIN apflora.v_tpop_berjahrundmassnjahr ON ((tpop.id = v_tpop_berjahrundmassnjahr.id)))
|
|
LEFT JOIN apflora.tpopmassnber ON (((v_tpop_berjahrundmassnjahr.id = tpopmassnber.tpop_id) AND (v_tpop_berjahrundmassnjahr.jahr = tpopmassnber.jahr))))
|
|
LEFT JOIN apflora.tpopmassn_erfbeurt_werte ON ((tpopmassnber.beurteilung = tpopmassn_erfbeurt_werte.code)))
|
|
LEFT JOIN apflora.tpopber ON (((v_tpop_berjahrundmassnjahr.jahr = tpopber.jahr) AND (v_tpop_berjahrundmassnjahr.id = tpopber.tpop_id))))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopber.entwicklung = tpop_entwicklung_werte.code)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, v_tpop_berjahrundmassnjahr.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopber_letzterber AS
|
|
SELECT tpopber.tpop_id,
|
|
max(tpopber.jahr) AS jahr
|
|
FROM apflora.tpopber
|
|
GROUP BY tpopber.tpop_id;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_statuswidersprichtbericht AS
|
|
SELECT ae_eigenschaften.artname AS "Art",
|
|
ap_bearbstand_werte.text AS "Bearbeitungsstand AP",
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.nr,
|
|
tpop.gemeinde,
|
|
tpop.flurname,
|
|
tpop.status,
|
|
tpopber.entwicklung AS "TPopBerEntwicklung",
|
|
tpopber.jahr AS tpopber_jahr
|
|
FROM (((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopber
|
|
JOIN apflora.v_tpopber_letzterber ON (((tpopber.tpop_id = v_tpopber_letzterber.tpop_id) AND (tpopber.jahr = v_tpopber_letzterber.jahr)))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
WHERE (((ap.bearbeitung < 4) AND ((tpop.status = 101) OR (tpop.status = 202)) AND (tpopber.entwicklung <> 8)) OR ((ap.bearbeitung < 4) AND (tpop.status <> ALL (ARRAY[101, 202])) AND (tpopber.entwicklung = 8)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, pop.name, tpop.nr, tpop.gemeinde, tpop.flurname;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpop_webgisbun AS
|
|
SELECT ap.id AS "APARTID",
|
|
ae_eigenschaften.artname AS "APART",
|
|
ap_bearbstand_werte.text AS "APSTATUS",
|
|
ap.start_jahr AS "APSTARTJAHR",
|
|
ap_umsetzung_werte.text AS "APSTANDUMSETZUNG",
|
|
pop.id AS "POPGUID",
|
|
pop.nr AS "POPNR",
|
|
pop.name AS "POPNAME",
|
|
pop_status_werte.text AS "POPSTATUS",
|
|
pop.status_unklar AS "POPSTATUSUNKLAR",
|
|
pop.status_unklar_begruendung AS "POPUNKLARGRUND",
|
|
pop.bekannt_seit AS "POPBEKANNTSEIT",
|
|
pop.x AS "POP_X",
|
|
pop.y AS "POP_Y",
|
|
tpop.id AS "TPOPID",
|
|
tpop.id AS "TPOPGUID",
|
|
tpop.nr AS "TPOPNR",
|
|
tpop.gemeinde AS "TPOPGEMEINDE",
|
|
tpop.flurname AS "TPOPFLURNAME",
|
|
pop_status_werte_2.text AS "TPOPSTATUS",
|
|
tpop.status_unklar AS "TPOPSTATUSUNKLAR",
|
|
tpop.status_unklar_grund AS "TPOPUNKLARGRUND",
|
|
tpop.x AS "TPOP_X",
|
|
tpop.y AS "TPOP_Y",
|
|
tpop.radius AS "TPOPRADIUS",
|
|
tpop.hoehe AS "TPOPHOEHE",
|
|
tpop.exposition AS "TPOPEXPOSITION",
|
|
tpop.klima AS "TPOPKLIMA",
|
|
tpop.neigung AS "TPOPHANGNEIGUNG",
|
|
tpop.beschreibung AS "TPOPBESCHREIBUNG",
|
|
tpop.kataster_nr AS "TPOPKATASTERNR",
|
|
adresse.name AS "TPOPVERANTWORTLICH",
|
|
tpop.apber_relevant AS "TPOPBERICHTSRELEVANZ",
|
|
tpop.bekannt_seit AS "TPOPBEKANNTSEIT",
|
|
tpop.eigentuemer AS "TPOPEIGENTUEMERIN",
|
|
tpop.kontakt AS "TPOPKONTAKT_VO",
|
|
tpop.nutzungszone AS "TPOP_NUTZUNGSZONE",
|
|
tpop.bewirtschafter AS "TPOPBEWIRTSCHAFTER",
|
|
tpop.bewirtschaftung AS "TPOPBEWIRTSCHAFTUNG",
|
|
to_char((tpop.changed)::timestamp with time zone, 'DD.MM.YY'::text) AS "TPOPCHANGEDAT",
|
|
tpop.changed_by AS "TPOPCHANGEBY"
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopber AS
|
|
SELECT ap.id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpop_status_werte.text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpopber.id AS tpopber_id,
|
|
tpopber.jahr AS tpopber_jahr,
|
|
tpop_entwicklung_werte.text AS tpopber_entwicklung,
|
|
tpopber.bemerkungen AS tpopber_bemerkungen,
|
|
tpopber.changed AS tpopber_changed,
|
|
tpopber.changed_by AS tpopber_changed_by
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte tpop_status_werte ON ((tpop.status = tpop_status_werte.code)))
|
|
RIGHT JOIN (apflora.tpopber
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopber.entwicklung = tpop_entwicklung_werte.code))) ON ((tpop.id = tpopber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopber.jahr, tpop_entwicklung_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr_fuergis_read AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS apherkunft,
|
|
ap.start_jahr AS apjahr,
|
|
ap_umsetzung_werte.text AS apumsetzung,
|
|
(pop.id)::character varying(50) AS popid,
|
|
pop.nr AS popnr,
|
|
pop.name AS popname,
|
|
pop_status_werte.text AS popherkunft,
|
|
pop.bekannt_seit AS popbekanntseit,
|
|
(tpop.id)::character varying(50) AS tpopid,
|
|
tpop.nr AS tpopnr,
|
|
tpop.gemeinde AS tpopgemeinde,
|
|
tpop.flurname AS tpopflurname,
|
|
tpop.x AS tpopxkoord,
|
|
tpop.y AS tpopykoord,
|
|
tpop.bekannt_seit AS tpopbekanntseit,
|
|
(tpopkontr.id)::character varying(50) AS tpopkontrid,
|
|
tpopkontr.jahr AS tpopkontrjahr,
|
|
(tpopkontr.datum)::timestamp without time zone AS tpopkontrdatum,
|
|
tpopkontr_typ_werte.text AS tpopkontrtyp,
|
|
adresse.name AS tpopkontrbearb,
|
|
tpopkontr.ueberlebensrate AS tpopkontrueberleb,
|
|
tpopkontr.vitalitaet AS tpopkontrvitalitaet,
|
|
tpop_entwicklung_werte.text AS tpopkontrentwicklung,
|
|
tpopkontr.ursachen AS tpopkontrursach,
|
|
tpopkontr.erfolgsbeurteilung AS tpopkontrurteil,
|
|
tpopkontr.umsetzung_aendern AS tpopkontraendums,
|
|
tpopkontr.kontrolle_aendern AS tpopkontraendkontr,
|
|
tpopkontr.lr_delarze AS tpopkontrleb,
|
|
tpopkontr.flaeche AS tpopkontrflaeche,
|
|
tpopkontr.lr_umgebung_delarze AS tpopkontrlebumg,
|
|
tpopkontr.vegetationstyp AS tpopkontrvegtyp,
|
|
tpopkontr.konkurrenz AS tpopkontrkonkurrenz,
|
|
tpopkontr.moosschicht AS tpopkontrmoosschicht,
|
|
tpopkontr.krautschicht AS tpopkontrkrautschicht,
|
|
tpopkontr.strauchschicht AS tpopkontrstrauchschicht,
|
|
tpopkontr.baumschicht AS tpopkontrbaumschicht,
|
|
tpopkontr.boden_typ AS tpopkontrbodentyp,
|
|
tpopkontr.boden_kalkgehalt AS tpopkontrbodenkalkgehalt,
|
|
tpopkontr.boden_durchlaessigkeit AS tpopkontrbodendurchlaessigkeit,
|
|
tpopkontr.boden_humus AS tpopkontrbodenhumus,
|
|
tpopkontr.boden_naehrstoffgehalt AS tpopkontrbodennaehrstoffgehalt,
|
|
tpopkontr.boden_abtrag AS tpopkontrbodenabtrag,
|
|
tpopkontr.wasserhaushalt AS tpopkontrwasserhaushalt,
|
|
tpopkontr_idbiotuebereinst_werte.text AS tpopkontridealbiotopuebereinst,
|
|
tpopkontr.flaeche_ueberprueft AS tpopkontruebflaeche,
|
|
tpopkontr.plan_vorhanden AS tpopkontrplan,
|
|
tpopkontr.deckung_vegetation AS tpopkontrveg,
|
|
tpopkontr.deckung_nackter_boden AS tpopkontrnabo,
|
|
tpopkontr.deckung_ap_art AS tpopkontruebpfl,
|
|
tpopkontr.jungpflanzen_vorhanden AS tpopkontrjungpfljn,
|
|
tpopkontr.vegetationshoehe_maximum AS tpopkontrveghoemax,
|
|
tpopkontr.vegetationshoehe_mittel AS tpopkontrveghoemit,
|
|
tpopkontr.gefaehrdung AS tpopkontrgefaehrdung,
|
|
(tpopkontr.changed)::timestamp without time zone AS mutwann,
|
|
tpopkontr.changed_by AS mutwer
|
|
FROM ((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (((apflora.tpopkontr
|
|
LEFT JOIN apflora.tpopkontr_typ_werte ON (((tpopkontr.typ)::text = (tpopkontr_typ_werte.text)::text)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopkontr.entwicklung = tpop_entwicklung_werte.code))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.tpopkontr_idbiotuebereinst_werte ON ((tpopkontr.idealbiotop_uebereinstimmung = tpopkontr_idbiotuebereinst_werte.code)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopkontr.jahr, tpopkontr.datum;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr_fuergis_write AS
|
|
SELECT (tpopkontr.id)::text AS id,
|
|
tpopkontr.typ,
|
|
tpopkontr.jahr,
|
|
(tpopkontr.datum)::timestamp without time zone AS datum,
|
|
tpopkontr.bearbeiter,
|
|
tpopkontr.jungpflanzen_anzahl,
|
|
tpopkontr.ueberlebensrate,
|
|
tpopkontr.entwicklung,
|
|
tpopkontr.vitalitaet,
|
|
tpopkontr.ursachen,
|
|
tpopkontr.erfolgsbeurteilung,
|
|
tpopkontr.umsetzung_aendern,
|
|
tpopkontr.kontrolle_aendern,
|
|
tpopkontr.lr_delarze,
|
|
tpopkontr.flaeche,
|
|
tpopkontr.lr_umgebung_delarze,
|
|
tpopkontr.vegetationstyp,
|
|
tpopkontr.konkurrenz,
|
|
tpopkontr.moosschicht,
|
|
tpopkontr.krautschicht,
|
|
tpopkontr.strauchschicht,
|
|
tpopkontr.baumschicht,
|
|
tpopkontr.boden_typ,
|
|
tpopkontr.boden_kalkgehalt,
|
|
tpopkontr.boden_durchlaessigkeit,
|
|
tpopkontr.boden_humus,
|
|
tpopkontr.boden_naehrstoffgehalt,
|
|
tpopkontr.boden_abtrag,
|
|
tpopkontr.wasserhaushalt,
|
|
tpopkontr.idealbiotop_uebereinstimmung,
|
|
tpopkontr.flaeche_ueberprueft,
|
|
tpopkontr.plan_vorhanden,
|
|
tpopkontr.deckung_vegetation,
|
|
tpopkontr.deckung_nackter_boden,
|
|
tpopkontr.deckung_ap_art,
|
|
tpopkontr.jungpflanzen_vorhanden,
|
|
tpopkontr.vegetationshoehe_maximum,
|
|
tpopkontr.vegetationshoehe_mittel,
|
|
tpopkontr.gefaehrdung,
|
|
tpopkontr.bemerkungen,
|
|
(tpopkontr.changed)::timestamp without time zone AS changed,
|
|
tpopkontr.changed_by
|
|
FROM apflora.tpopkontr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkontr_webgisbun AS
|
|
SELECT ap.id AS "APARTID",
|
|
ae_eigenschaften.artname AS "APART",
|
|
pop.id AS "POPGUID",
|
|
pop.nr AS "POPNR",
|
|
tpop.id AS "TPOPGUID",
|
|
tpop.nr AS "TPOPNR",
|
|
tpopkontr.id AS "KONTRGUID",
|
|
tpopkontr.jahr AS "KONTRJAHR",
|
|
to_char((tpopkontr.datum)::timestamp with time zone, 'DD.MM.YY'::text) AS "KONTRDAT",
|
|
tpopkontr_typ_werte.text AS "KONTRTYP",
|
|
pop_status_werte_2.text AS "TPOPSTATUS",
|
|
adresse.name AS "KONTRBEARBEITER",
|
|
tpopkontr.ueberlebensrate AS "KONTRUEBERLEBENSRATE",
|
|
tpopkontr.vitalitaet AS "KONTRVITALITAET",
|
|
tpop_entwicklung_werte.text AS "KONTRENTWICKLUNG",
|
|
tpopkontr.ursachen AS "KONTRURSACHEN",
|
|
tpopkontr.erfolgsbeurteilung AS "KONTRERFOLGBEURTEIL",
|
|
tpopkontr.umsetzung_aendern AS "KONTRAENDUMSETZUNG",
|
|
tpopkontr.kontrolle_aendern AS "KONTRAENDKONTROLLE",
|
|
tpop.x AS "KONTR_X",
|
|
tpop.y AS "KONTR_Y",
|
|
tpopkontr.bemerkungen AS "KONTRBEMERKUNGEN",
|
|
tpopkontr.lr_delarze AS "KONTRLRMDELARZE",
|
|
tpopkontr.lr_umgebung_delarze AS "KONTRDELARZEANGRENZ",
|
|
tpopkontr.vegetationstyp AS "KONTRVEGTYP",
|
|
tpopkontr.konkurrenz AS "KONTRKONKURRENZ",
|
|
tpopkontr.moosschicht AS "KONTRMOOSE",
|
|
tpopkontr.krautschicht AS "KONTRKRAUTSCHICHT",
|
|
tpopkontr.strauchschicht AS "KONTRSTRAUCHSCHICHT",
|
|
tpopkontr.baumschicht AS "KONTRBAUMSCHICHT",
|
|
tpopkontr.boden_typ AS "KONTRBODENTYP",
|
|
tpopkontr.boden_kalkgehalt AS "KONTRBODENKALK",
|
|
tpopkontr.boden_durchlaessigkeit AS "KONTRBODENDURCHLAESSIGK",
|
|
tpopkontr.boden_humus AS "KONTRBODENHUMUS",
|
|
tpopkontr.boden_naehrstoffgehalt AS "KONTRBODENNAEHRSTOFF",
|
|
tpopkontr.boden_abtrag AS "KONTROBERBODENABTRAG",
|
|
tpopkontr.wasserhaushalt AS "KONTROBODENWASSERHAUSHALT",
|
|
tpopkontr_idbiotuebereinst_werte.text AS "KONTRUEBEREINSTIMMUNIDEAL",
|
|
tpopkontr.handlungsbedarf AS "KONTRHANDLUNGSBEDARF",
|
|
tpopkontr.flaeche_ueberprueft AS "KONTRUEBERPRUFTFLAECHE",
|
|
tpopkontr.flaeche AS "KONTRFLAECHETPOP",
|
|
tpopkontr.plan_vorhanden AS "KONTRAUFPLAN",
|
|
tpopkontr.deckung_vegetation AS "KONTRDECKUNGVEG",
|
|
tpopkontr.deckung_nackter_boden AS "KONTRDECKUNGBODEN",
|
|
tpopkontr.deckung_ap_art AS "KONTRDECKUNGART",
|
|
tpopkontr.jungpflanzen_vorhanden AS "KONTRJUNGEPLANZEN",
|
|
tpopkontr.vegetationshoehe_maximum AS "KONTRMAXHOEHEVEG",
|
|
tpopkontr.vegetationshoehe_mittel AS "KONTRMITTELHOEHEVEG",
|
|
tpopkontr.gefaehrdung AS "KONTRGEFAEHRDUNG",
|
|
to_char((tpopkontr.changed)::timestamp with time zone, 'DD.MM.YY'::text) AS "KONTRCHANGEDAT",
|
|
tpopkontr.changed_by AS "KONTRCHANGEBY",
|
|
string_agg((tpopkontrzaehl_einheit_werte.text)::text, ', '::text) AS "ZAEHLEINHEITEN",
|
|
array_to_string(array_agg(tpopkontrzaehl.anzahl), ', '::text) AS "ANZAHLEN",
|
|
string_agg((tpopkontrzaehl_methode_werte.text)::text, ', '::text) AS "METHODEN"
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (apflora.pop
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
JOIN ((((((apflora.tpopkontr
|
|
LEFT JOIN apflora.tpopkontr_typ_werte ON (((tpopkontr.typ)::text = (tpopkontr_typ_werte.text)::text)))
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id)))
|
|
LEFT JOIN apflora.tpop_entwicklung_werte ON ((tpopkontr.entwicklung = tpop_entwicklung_werte.code)))
|
|
LEFT JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id)))
|
|
LEFT JOIN apflora.tpopkontrzaehl_einheit_werte ON ((tpopkontrzaehl.einheit = tpopkontrzaehl_einheit_werte.code)))
|
|
LEFT JOIN apflora.tpopkontrzaehl_methode_werte ON ((tpopkontrzaehl.methode = tpopkontrzaehl_methode_werte.code))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
LEFT JOIN apflora.tpopkontr_idbiotuebereinst_werte ON ((tpopkontr.idealbiotop_uebereinstimmung = tpopkontr_idbiotuebereinst_werte.code)))
|
|
LEFT JOIN apflora.adresse apflora_adresse_1 ON ((ap.bearbeiter = apflora_adresse_1.id)))
|
|
WHERE (ae_eigenschaften.taxid > 150)
|
|
GROUP BY ap.id, ae_eigenschaften.artname, pop.id, pop.nr, tpop.id, tpop.nr, tpopkontr.tpop_id, tpopkontr.id, tpopkontr.jahr, tpopkontr.datum, tpopkontr_typ_werte.text, pop_status_werte_2.text, adresse.name, tpopkontr.ueberlebensrate, tpopkontr.vitalitaet, tpop_entwicklung_werte.text, tpopkontr.ursachen, tpopkontr.erfolgsbeurteilung, tpopkontr.umsetzung_aendern, tpopkontr.kontrolle_aendern, tpop.x, tpop.y, tpopkontr.bemerkungen, tpopkontr.lr_delarze, tpopkontr.lr_umgebung_delarze, tpopkontr.vegetationstyp, tpopkontr.konkurrenz, tpopkontr.moosschicht, tpopkontr.krautschicht, tpopkontr.strauchschicht, tpopkontr.baumschicht, tpopkontr.boden_typ, tpopkontr.boden_kalkgehalt, tpopkontr.boden_durchlaessigkeit, tpopkontr.boden_humus, tpopkontr.boden_naehrstoffgehalt, tpopkontr.boden_abtrag, tpopkontr.wasserhaushalt, tpopkontr_idbiotuebereinst_werte.text, tpopkontr.handlungsbedarf, tpopkontr.flaeche_ueberprueft, tpopkontr.flaeche, tpopkontr.plan_vorhanden, tpopkontr.deckung_vegetation, tpopkontr.deckung_nackter_boden, tpopkontr.deckung_ap_art, tpopkontr.jungpflanzen_vorhanden, tpopkontr.vegetationshoehe_maximum, tpopkontr.vegetationshoehe_mittel, tpopkontr.gefaehrdung, tpopkontr.changed, tpopkontr.changed_by
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopkoord AS
|
|
SELECT DISTINCT pop.ap_id,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
tpop.id,
|
|
tpop.nr,
|
|
tpop.x,
|
|
tpop.y,
|
|
tpop.apber_relevant
|
|
FROM (apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
WHERE ((tpop.x IS NOT NULL) AND (tpop.y IS NOT NULL));
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopmassn_0 AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname AS "Art",
|
|
ap_bearbstand_werte.text AS "Aktionsplan Bearbeitungsstand",
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpopmassn.id,
|
|
tpopmassn.jahr AS "Jahr",
|
|
tpopmassn_typ_werte.text AS "Massnahme",
|
|
tpopmassn.beschreibung,
|
|
tpopmassn.datum,
|
|
adresse.name AS bearbeiter,
|
|
tpopmassn.bemerkungen,
|
|
tpopmassn.plan_vorhanden,
|
|
tpopmassn.plan_bezeichnung,
|
|
tpopmassn.flaeche,
|
|
tpopmassn.markierung,
|
|
tpopmassn.anz_triebe,
|
|
tpopmassn.anz_pflanzen,
|
|
tpopmassn.anz_pflanzstellen,
|
|
tpopmassn.wirtspflanze,
|
|
tpopmassn.herkunft_pop,
|
|
tpopmassn.sammeldatum,
|
|
tpopmassn.form,
|
|
tpopmassn.pflanzanordnung
|
|
FROM (((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
JOIN ((apflora.pop
|
|
JOIN apflora.tpop ON ((pop.id = tpop.pop_id)))
|
|
JOIN ((apflora.tpopmassn
|
|
LEFT JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassn.jahr, tpopmassn_typ_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopmassn_fueraktap0 AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname AS "Art",
|
|
ap_bearbstand_werte.text AS "Aktionsplan-Status",
|
|
ap.start_jahr AS "Aktionsplan-Jahr",
|
|
ap_umsetzung_werte.text AS "Aktionsplan-Umsetzung",
|
|
pop.id AS pop_id,
|
|
pop.nr AS "Population-Nr",
|
|
pop.name AS "Population-Name",
|
|
pop_status_werte.text AS "Population-Herkunft",
|
|
pop.bekannt_seit AS "Population - bekannt seit",
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS "Teilpopulation-Nr",
|
|
tpop.gemeinde AS "Teilpopulation-Gemeinde",
|
|
tpop.flurname AS "Teilpopulation-Flurname",
|
|
tpop.x AS "Teilpopulation-X-Koodinate",
|
|
tpop.y AS "Teilpopulation-Y-Koordinate",
|
|
tpop.radius AS "Teilpopulation-Radius",
|
|
tpop.hoehe AS "Teilpopulation-Höhe",
|
|
tpop.beschreibung AS "Teilpopulation-Beschreibung",
|
|
tpop.kataster_nr AS "Teilpopulation-Kataster-Nr",
|
|
pop_status_werte_2.text AS "Teilpopulation-Herkunft",
|
|
tpop.status_unklar AS "Teilpopulation - Herkunft unklar",
|
|
tpop.status_unklar_grund AS "Teilpopulation - Herkunft unklar Begruendung",
|
|
tpop_apberrelevant_werte.text AS "Teilpopulation - Fuer Bericht relevant",
|
|
tpop.bekannt_seit AS "Teilpopulation - bekannt seit",
|
|
tpop.eigentuemer AS "Teilpopulation-Eigentuemer",
|
|
tpop.kontakt AS "Teilpopulation-Kontakt",
|
|
tpop.nutzungszone AS "Teilpopulation-Nutzungszone",
|
|
tpop.bewirtschafter AS "Teilpopulation-Bewirtschafter",
|
|
tpop.bewirtschaftung AS "Teilpopulation-Bewirtschaftung",
|
|
tpop.bemerkungen AS "Teilpopulation-Bemerkungen",
|
|
tpopmassn.id,
|
|
tpopmassn_typ_werte.text AS "Massnahme-Typ",
|
|
tpopmassn.beschreibung AS "Massnahme-Beschreibung",
|
|
tpopmassn.datum AS "Massnahme-Datum",
|
|
adresse.name AS "Massnahme-BearbeiterIn",
|
|
tpopmassn.bemerkungen AS "Massnahme-Bemerkungen",
|
|
tpopmassn.plan_vorhanden AS "Massnahme-Plan",
|
|
tpopmassn.plan_bezeichnung AS "Massnahme-Planbezeichnung",
|
|
tpopmassn.flaeche AS "Massnahme-Flaeche",
|
|
tpopmassn.markierung AS "Massnahme-Markierung",
|
|
tpopmassn.anz_triebe AS "Massnahme - Ansiedlung Anzahl Triebe",
|
|
tpopmassn.anz_pflanzen AS "Massnahme - Ansiedlung Anzahl Pflanzen",
|
|
tpopmassn.anz_pflanzstellen AS "Massnahme - Ansiedlung Anzahl Pflanzstellen",
|
|
tpopmassn.wirtspflanze AS "Massnahme - Ansiedlung Wirtspflanzen",
|
|
tpopmassn.herkunft_pop AS "Massnahme - Ansiedlung Herkunftspopulation",
|
|
tpopmassn.sammeldatum AS "Massnahme - Ansiedlung Sammeldatum",
|
|
tpopmassn.form AS "Massnahme - Ansiedlung Form",
|
|
tpopmassn.pflanzanordnung AS "Massnahme - Ansiedlung Pflanzordnung"
|
|
FROM ((apflora.ae_eigenschaften
|
|
JOIN ((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
JOIN (((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.tpop_apberrelevant_werte ON ((tpop.apber_relevant = tpop_apberrelevant_werte.code))) ON ((pop.id = tpop.pop_id)))
|
|
JOIN ((apflora.tpopmassn
|
|
LEFT JOIN apflora.tpopmassn_typ_werte ON ((tpopmassn.typ = tpopmassn_typ_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((tpopmassn.bearbeiter = adresse.id))) ON ((tpop.id = tpopmassn.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassn_typ_werte.text;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopmassnber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
pop.id AS pop_id,
|
|
pop.nr AS pop_nr,
|
|
pop.name AS pop_name,
|
|
pop_status_werte.text AS pop_status,
|
|
pop.bekannt_seit AS pop_bekannt_seit,
|
|
pop.status_unklar AS pop_status_unklar,
|
|
pop.status_unklar_begruendung AS pop_status_unklar_begruendung,
|
|
pop.x AS pop_x,
|
|
pop.y AS pop_y,
|
|
tpop.id AS tpop_id,
|
|
tpop.nr AS tpop_nr,
|
|
tpop.gemeinde AS tpop_gemeinde,
|
|
tpop.flurname AS tpop_flurname,
|
|
tpop_status_werte.text AS tpop_status,
|
|
tpop.bekannt_seit AS tpop_bekannt_seit,
|
|
tpop.status_unklar AS tpop_status_unklar,
|
|
tpop.status_unklar_grund AS tpop_status_unklar_grund,
|
|
tpop.x AS tpop_x,
|
|
tpop.y AS tpop_y,
|
|
tpop.radius AS tpop_radius,
|
|
tpop.hoehe AS tpop_hoehe,
|
|
tpop.exposition AS tpop_exposition,
|
|
tpop.klima AS tpop_klima,
|
|
tpop.neigung AS tpop_neigung,
|
|
tpop.beschreibung AS tpop_beschreibung,
|
|
tpop.kataster_nr AS tpop_kataster_nr,
|
|
tpop.apber_relevant AS tpop_apber_relevant,
|
|
tpop.eigentuemer AS tpop_eigentuemer,
|
|
tpop.kontakt AS tpop_kontakt,
|
|
tpop.nutzungszone AS tpop_nutzungszone,
|
|
tpop.bewirtschafter AS tpop_bewirtschafter,
|
|
tpop.bewirtschaftung AS tpop_bewirtschaftung,
|
|
tpopmassnber.id,
|
|
tpopmassnber.jahr,
|
|
tpopmassn_erfbeurt_werte.text AS entwicklung,
|
|
tpopmassnber.bemerkungen,
|
|
tpopmassnber.changed,
|
|
tpopmassnber.changed_by
|
|
FROM (apflora.ae_eigenschaften
|
|
JOIN (((apflora.ap
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN ((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte tpop_status_werte ON ((tpop.status = tpop_status_werte.code)))
|
|
JOIN (apflora.tpopmassnber
|
|
LEFT JOIN apflora.tpopmassn_erfbeurt_werte ON ((tpopmassnber.beurteilung = tpopmassn_erfbeurt_werte.code))) ON ((tpop.id = tpopmassnber.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id))) ON ((ae_eigenschaften.id = ap.art_id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassnber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_tpopmassnber_fueraktap0 AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname AS "Art",
|
|
ap_bearbstand_werte.text AS "Aktionsplan-Status",
|
|
ap.start_jahr AS "Aktionsplan-Jahr",
|
|
ap_umsetzung_werte.text AS "Aktionsplan-Umsetzung",
|
|
pop.nr AS "Population-Nr",
|
|
pop.name AS "Population-Name",
|
|
pop_status_werte.text AS "Population-Herkunft",
|
|
pop.bekannt_seit AS "Population - bekannt seit",
|
|
tpop.nr AS "Teilpopulation-Nr",
|
|
tpop.gemeinde AS "Teilpopulation-Gemeinde",
|
|
tpop.flurname AS "Teilpopulation-Flurname",
|
|
tpop.x AS "Teilpopulation-X-Koodinate",
|
|
tpop.y AS "Teilpopulation-Y-Koordinate",
|
|
tpop.radius AS "Teilpopulation-Radius",
|
|
tpop.hoehe AS "Teilpopulation-Hoehe",
|
|
tpop.beschreibung AS "Teilpopulation-Beschreibung",
|
|
tpop.kataster_nr AS "Teilpopulation-Kataster-Nr",
|
|
pop_status_werte_2.text AS "Teilpopulation-Herkunft",
|
|
tpop.status_unklar AS "Teilpopulation - Herkunft unklar",
|
|
tpop.status_unklar_grund AS "Teilpopulation - Herkunft unklar Begruendung",
|
|
tpop_apberrelevant_werte.text AS "Teilpopulation - Fuer Bericht relevant",
|
|
tpop.bekannt_seit AS "Teilpopulation - bekannt seit",
|
|
tpop.eigentuemer AS "Teilpopulation-Eigentuemer",
|
|
tpop.kontakt AS "Teilpopulation-Kontakt",
|
|
tpop.nutzungszone AS "Teilpopulation-Nutzungszone",
|
|
tpop.bewirtschafter AS "Teilpopulation-Bewirtschafter",
|
|
tpop.bewirtschaftung AS "Teilpopulation-Bewirtschaftung",
|
|
tpop.bemerkungen AS "Teilpopulation-Bemerkungen",
|
|
tpopmassnber.jahr AS "Massnahmenbericht-Jahr",
|
|
tpopmassn_erfbeurt_werte.text AS "Massnahmenbericht-Erfolgsberuteilung",
|
|
tpopmassnber.bemerkungen AS "Massnahmenbericht-Interpretation"
|
|
FROM ((((apflora.ae_eigenschaften
|
|
JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
JOIN (((apflora.pop
|
|
LEFT JOIN apflora.pop_status_werte ON ((pop.status = pop_status_werte.code)))
|
|
JOIN ((apflora.tpop
|
|
LEFT JOIN apflora.pop_status_werte pop_status_werte_2 ON ((tpop.status = pop_status_werte_2.code)))
|
|
LEFT JOIN apflora.tpop_apberrelevant_werte ON ((tpop.apber_relevant = tpop_apberrelevant_werte.code))) ON ((pop.id = tpop.pop_id)))
|
|
JOIN (apflora.tpopmassnber
|
|
JOIN apflora.tpopmassn_erfbeurt_werte ON ((tpopmassnber.beurteilung = tpopmassn_erfbeurt_werte.code))) ON ((tpop.id = tpopmassnber.tpop_id))) ON ((ap.id = pop.ap_id)))
|
|
ORDER BY ae_eigenschaften.artname, pop.nr, tpop.nr, tpopmassnber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_ziel AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
ziel.id,
|
|
ziel.jahr,
|
|
ziel_typ_werte.text AS typ,
|
|
ziel.bezeichnung
|
|
FROM ((((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
RIGHT JOIN apflora.ziel ON ((ap.id = ziel.ap_id)))
|
|
LEFT JOIN apflora.ziel_typ_werte ON ((ziel.typ = ziel_typ_werte.code)))
|
|
WHERE (ziel.typ = ANY (ARRAY[1, 2, 1170775556]))
|
|
ORDER BY ae_eigenschaften.artname, ziel.jahr, ziel_typ_werte.text, ziel.typ;
|
|
|
|
|
|
|
|
|
|
CREATE VIEW apflora.v_zielber AS
|
|
SELECT ap.id AS ap_id,
|
|
ae_eigenschaften.artname,
|
|
ap_bearbstand_werte.text AS ap_bearbeitung,
|
|
ap.start_jahr AS ap_start_jahr,
|
|
ap_umsetzung_werte.text AS ap_umsetzung,
|
|
adresse.name AS ap_bearbeiter,
|
|
ziel.id AS ziel_id,
|
|
ziel.jahr AS ziel_jahr,
|
|
ziel_typ_werte.text AS ziel_typ,
|
|
ziel.bezeichnung AS ziel_bezeichnung,
|
|
zielber.id,
|
|
zielber.jahr,
|
|
zielber.erreichung,
|
|
zielber.bemerkungen,
|
|
zielber.changed,
|
|
zielber.changed_by
|
|
FROM (((((((apflora.ae_eigenschaften
|
|
RIGHT JOIN apflora.ap ON ((ae_eigenschaften.id = ap.art_id)))
|
|
LEFT JOIN apflora.ap_bearbstand_werte ON ((ap.bearbeitung = ap_bearbstand_werte.code)))
|
|
LEFT JOIN apflora.ap_umsetzung_werte ON ((ap.umsetzung = ap_umsetzung_werte.code)))
|
|
LEFT JOIN apflora.adresse ON ((ap.bearbeiter = adresse.id)))
|
|
RIGHT JOIN apflora.ziel ON ((ap.id = ziel.ap_id)))
|
|
LEFT JOIN apflora.ziel_typ_werte ON ((ziel.typ = ziel_typ_werte.code)))
|
|
RIGHT JOIN apflora.zielber ON ((ziel.id = zielber.ziel_id)))
|
|
ORDER BY ae_eigenschaften.artname, ziel.jahr, ziel_typ_werte.text, ziel.typ, zielber.jahr;
|
|
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."ziel_ZielId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."ziel_ZielId_seq" OWNED BY apflora.ziel.id_old;
|
|
|
|
|
|
|
|
CREATE SEQUENCE apflora."zielber_ZielBerId_seq"
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
|
|
|
|
ALTER SEQUENCE apflora."zielber_ZielBerId_seq" OWNED BY apflora.zielber.id_old;
|
|
|
|
|
|
|
|
CREATE TABLE public.migrations (
|
|
id integer NOT NULL,
|
|
name character varying(100) NOT NULL,
|
|
hash character varying(40) NOT NULL,
|
|
executed_at timestamp without time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora._variable ALTER COLUMN "KonstId" SET DEFAULT nextval('apflora."_variable_KonstId_seq"'::regclass);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora._variable
|
|
ADD CONSTRAINT _variable_pkey PRIMARY KEY ("KonstId");
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ae_eigenschaften
|
|
ADD CONSTRAINT "adb_eigenschaften_TaxonomieId_key" UNIQUE (taxid);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ae_eigenschaften
|
|
ADD CONSTRAINT adb_eigenschaften_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ae_lrdelarze
|
|
ADD CONSTRAINT adb_lr_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.adresse
|
|
ADD CONSTRAINT adresse_id_key UNIQUE (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.adresse
|
|
ADD CONSTRAINT adresse_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_art_key UNIQUE (art_id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_bearbstand_werte
|
|
ADD CONSTRAINT ap_bearbstand_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_bearbstand_werte
|
|
ADD CONSTRAINT ap_bearbstand_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_erfbeurtkrit_werte
|
|
ADD CONSTRAINT ap_erfbeurtkrit_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_erfbeurtkrit_werte
|
|
ADD CONSTRAINT ap_erfbeurtkrit_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_erfkrit_werte
|
|
ADD CONSTRAINT ap_erfkrit_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_erfkrit_werte
|
|
ADD CONSTRAINT ap_erfkrit_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_umsetzung_werte
|
|
ADD CONSTRAINT ap_umsetzung_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap_umsetzung_werte
|
|
ADD CONSTRAINT ap_umsetzung_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apber
|
|
ADD CONSTRAINT apber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apberuebersicht
|
|
ADD CONSTRAINT apberuebersicht_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.assozart
|
|
ADD CONSTRAINT assozart_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.beob
|
|
ADD CONSTRAINT beob_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.beob_quelle_werte
|
|
ADD CONSTRAINT beob_quelle_werte_id_key UNIQUE (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.beob_quelle_werte
|
|
ADD CONSTRAINT beob_quelle_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apart
|
|
ADD CONSTRAINT beobart_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ber
|
|
ADD CONSTRAINT ber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.erfkrit
|
|
ADD CONSTRAINT erfkrit_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.evab_typologie
|
|
ADD CONSTRAINT evab_typologie_pkey PRIMARY KEY ("TYPO");
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.gemeinde
|
|
ADD CONSTRAINT gemeinde_id_key UNIQUE (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.gemeinde
|
|
ADD CONSTRAINT gemeinde_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.idealbiotop
|
|
ADD CONSTRAINT idealbiotop_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.message
|
|
ADD CONSTRAINT message_id_key UNIQUE (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.message
|
|
ADD CONSTRAINT message_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.pop
|
|
ADD CONSTRAINT pop_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.pop_status_werte
|
|
ADD CONSTRAINT pop_status_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.pop_status_werte
|
|
ADD CONSTRAINT pop_status_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.popber
|
|
ADD CONSTRAINT popber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.popmassnber
|
|
ADD CONSTRAINT popmassnber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.projekt
|
|
ADD CONSTRAINT projekt_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop_apberrelevant_werte
|
|
ADD CONSTRAINT tpop_apberrelevant_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop_apberrelevant_werte
|
|
ADD CONSTRAINT tpop_apberrelevant_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop_entwicklung_werte
|
|
ADD CONSTRAINT tpop_entwicklung_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop_entwicklung_werte
|
|
ADD CONSTRAINT tpop_entwicklung_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop
|
|
ADD CONSTRAINT tpop_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopber
|
|
ADD CONSTRAINT tpopber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr_idbiotuebereinst_werte
|
|
ADD CONSTRAINT tpopkontr_idbiotuebereinst_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr_idbiotuebereinst_werte
|
|
ADD CONSTRAINT tpopkontr_idbiotuebereinst_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr
|
|
ADD CONSTRAINT tpopkontr_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr_typ_werte
|
|
ADD CONSTRAINT tpopkontr_typ_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr_typ_werte
|
|
ADD CONSTRAINT tpopkontr_typ_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr_typ_werte
|
|
ADD CONSTRAINT tpopkontr_typ_werte_text_key UNIQUE (text);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl_einheit_werte
|
|
ADD CONSTRAINT tpopkontrzaehl_einheit_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl_einheit_werte
|
|
ADD CONSTRAINT tpopkontrzaehl_einheit_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl_methode_werte
|
|
ADD CONSTRAINT tpopkontrzaehl_methode_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl_methode_werte
|
|
ADD CONSTRAINT tpopkontrzaehl_methode_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl
|
|
ADD CONSTRAINT tpopkontrzaehl_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn_erfbeurt_werte
|
|
ADD CONSTRAINT tpopmassn_erfbeurt_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn_erfbeurt_werte
|
|
ADD CONSTRAINT tpopmassn_erfbeurt_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn
|
|
ADD CONSTRAINT tpopmassn_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn_typ_werte
|
|
ADD CONSTRAINT tpopmassn_typ_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn_typ_werte
|
|
ADD CONSTRAINT tpopmassn_typ_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassnber
|
|
ADD CONSTRAINT tpopmassnber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora."user"
|
|
ADD CONSTRAINT user_email_key UNIQUE (email);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora."user"
|
|
ADD CONSTRAINT user_name_key UNIQUE (name);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora."user"
|
|
ADD CONSTRAINT user_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.usermessage
|
|
ADD CONSTRAINT usermessage_id_key UNIQUE (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.usermessage
|
|
ADD CONSTRAINT usermessage_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ziel
|
|
ADD CONSTRAINT ziel_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ziel_typ_werte
|
|
ADD CONSTRAINT ziel_typ_werte_code_key UNIQUE (code);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ziel_typ_werte
|
|
ADD CONSTRAINT ziel_typ_werte_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.zielber
|
|
ADD CONSTRAINT zielber_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY public.migrations
|
|
ADD CONSTRAINT migrations_name_key UNIQUE (name);
|
|
|
|
|
|
|
|
ALTER TABLE ONLY public.migrations
|
|
ADD CONSTRAINT migrations_pkey PRIMARY KEY (id);
|
|
|
|
|
|
|
|
CREATE INDEX "_variable_ApArtId_idx" ON apflora._variable USING btree ("ApArtId");
|
|
|
|
|
|
|
|
CREATE INDEX "_variable_JBerJahr_idx" ON apflora._variable USING btree (apber_jahr);
|
|
|
|
|
|
|
|
CREATE INDEX "adb_eigenschaften_Artname_idx" ON apflora.ae_eigenschaften USING btree (artname);
|
|
|
|
|
|
|
|
CREATE INDEX "adb_eigenschaften_TaxonomieId_idx" ON apflora.ae_eigenschaften USING btree (taxid);
|
|
|
|
|
|
|
|
CREATE INDEX adb_eigenschaften_id_idx ON apflora.ae_eigenschaften USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX "adb_lr_Id_idx" ON apflora.ae_lrdelarze USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX "adb_lr_Label_idx" ON apflora.ae_lrdelarze USING btree (label);
|
|
|
|
|
|
|
|
CREATE INDEX adb_lr_id_idx ON apflora.ae_lrdelarze USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX adresse_freiw_erfko_idx ON apflora.adresse USING btree (freiw_erfko);
|
|
|
|
|
|
|
|
CREATE INDEX adresse_id_idx ON apflora.adresse USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX adresse_name_idx ON apflora.adresse USING btree (name);
|
|
|
|
|
|
|
|
CREATE INDEX ap_art_id_idx ON apflora.ap USING btree (art_id);
|
|
|
|
|
|
|
|
CREATE INDEX ap_bearbeiter_idx ON apflora.ap USING btree (bearbeiter);
|
|
|
|
|
|
|
|
CREATE INDEX ap_bearbeitung_idx ON apflora.ap USING btree (bearbeitung);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_bearbstand_werte_DomainCode_idx" ON apflora.ap_bearbstand_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_bearbstand_werte_DomainOrd_idx" ON apflora.ap_bearbstand_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX ap_bearbstand_werte_id_idx ON apflora.ap_bearbstand_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_erfbeurtkrit_werte_DomainCode_idx" ON apflora.ap_erfbeurtkrit_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_erfbeurtkrit_werte_DomainOrd_idx" ON apflora.ap_erfbeurtkrit_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX ap_erfbeurtkrit_werte_id_idx ON apflora.ap_erfbeurtkrit_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_erfkrit_werte_BeurteilId_idx" ON apflora.ap_erfkrit_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_erfkrit_werte_BeurteilOrd_idx" ON apflora.ap_erfkrit_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX ap_erfkrit_werte_id_idx ON apflora.ap_erfkrit_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX ap_id_idx ON apflora.ap USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX ap_proj_id_idx ON apflora.ap USING btree (proj_id);
|
|
|
|
|
|
|
|
CREATE INDEX ap_start_jahr_idx ON apflora.ap USING btree (start_jahr);
|
|
|
|
|
|
|
|
CREATE INDEX ap_umsetzung_idx ON apflora.ap USING btree (umsetzung);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_umsetzung_werte_DomainCode_idx" ON apflora.ap_umsetzung_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "ap_umsetzung_werte_DomainOrd_idx" ON apflora.ap_umsetzung_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX ap_umsetzung_werte_id_idx ON apflora.ap_umsetzung_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX apart_ap_id_idx ON apflora.apart USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX apart_art_id_idx ON apflora.apart USING btree (art_id);
|
|
|
|
|
|
|
|
CREATE INDEX apber_ap_id_idx ON apflora.apber USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX apber_bearbeiter_idx ON apflora.apber USING btree (bearbeiter);
|
|
|
|
|
|
|
|
CREATE INDEX apber_beurteilung_idx ON apflora.apber USING btree (beurteilung);
|
|
|
|
|
|
|
|
CREATE INDEX apber_id_idx ON apflora.apber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX apber_jahr_idx ON apflora.apber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX apberuebersicht_id_idx ON apflora.apberuebersicht USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX apberuebersicht_jahr_idx ON apflora.apberuebersicht USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX apberuebersicht_proj_id_idx ON apflora.apberuebersicht USING btree (proj_id);
|
|
|
|
|
|
|
|
CREATE INDEX assozart_ae_id_idx ON apflora.assozart USING btree (ae_id);
|
|
|
|
|
|
|
|
CREATE INDEX assozart_ap_id_idx ON apflora.assozart USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX assozart_id_idx ON apflora.assozart USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX beob_art_id_idx ON apflora.beob USING btree (art_id);
|
|
|
|
|
|
|
|
CREATE INDEX beob_id_idx ON apflora.beob USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX beob_nicht_zuordnen_idx ON apflora.beob USING btree (nicht_zuordnen);
|
|
|
|
|
|
|
|
CREATE INDEX beob_quelle_id_idx ON apflora.beob USING btree (quelle_id);
|
|
|
|
|
|
|
|
CREATE INDEX beob_quelle_werte_id_idx ON apflora.beob_quelle_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX beob_tpop_id_idx ON apflora.beob USING btree (tpop_id);
|
|
|
|
|
|
|
|
CREATE INDEX beob_x_idx ON apflora.beob USING btree (x);
|
|
|
|
|
|
|
|
CREATE INDEX beob_y_idx ON apflora.beob USING btree (y);
|
|
|
|
|
|
|
|
CREATE INDEX beobart_id_idx ON apflora.apart USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX ber_ap_id_idx ON apflora.ber USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX ber_id_idx ON apflora.ber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX ber_jahr_idx ON apflora.ber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX erfkrit_ap_id_idx ON apflora.erfkrit USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX erfkrit_erfolg_idx ON apflora.erfkrit USING btree (erfolg);
|
|
|
|
|
|
|
|
CREATE INDEX erfkrit_id_idx ON apflora.erfkrit USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX idealbiotop_ap_id_idx ON apflora.idealbiotop USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX idealbiotop_id_idx ON apflora.idealbiotop USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX message_id_idx ON apflora.message USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX message_time_idx ON apflora.message USING btree ("time");
|
|
|
|
|
|
|
|
CREATE INDEX pop_ap_id_idx ON apflora.pop USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX pop_bekannt_seit_idx ON apflora.pop USING btree (bekannt_seit);
|
|
|
|
|
|
|
|
CREATE INDEX pop_id_idx ON apflora.pop USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX pop_name_idx ON apflora.pop USING btree (name);
|
|
|
|
|
|
|
|
CREATE INDEX pop_nr_idx ON apflora.pop USING btree (nr);
|
|
|
|
|
|
|
|
CREATE INDEX pop_status_idx ON apflora.pop USING btree (status);
|
|
|
|
|
|
|
|
CREATE INDEX "pop_status_werte_HerkunftId_idx" ON apflora.pop_status_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "pop_status_werte_HerkunftOrd_idx" ON apflora.pop_status_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX "pop_status_werte_HerkunftTxt_idx" ON apflora.pop_status_werte USING btree (text);
|
|
|
|
|
|
|
|
CREATE INDEX pop_status_werte_id_idx ON apflora.pop_status_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX pop_x_idx ON apflora.pop USING btree (x);
|
|
|
|
|
|
|
|
CREATE INDEX pop_y_idx ON apflora.pop USING btree (y);
|
|
|
|
|
|
|
|
CREATE INDEX popber_entwicklung_idx ON apflora.popber USING btree (entwicklung);
|
|
|
|
|
|
|
|
CREATE INDEX popber_id_idx ON apflora.popber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX popber_jahr_idx ON apflora.popber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX popber_pop_id_idx ON apflora.popber USING btree (pop_id);
|
|
|
|
|
|
|
|
CREATE INDEX popmassnber_beurteilung_idx ON apflora.popmassnber USING btree (beurteilung);
|
|
|
|
|
|
|
|
CREATE INDEX popmassnber_id_idx ON apflora.popmassnber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX popmassnber_jahr_idx ON apflora.popmassnber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX popmassnber_pop_id_idx ON apflora.popmassnber USING btree (pop_id);
|
|
|
|
|
|
|
|
CREATE INDEX projekt_id_idx ON apflora.projekt USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX projekt_name_idx ON apflora.projekt USING btree (name);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_apber_relevant_idx ON apflora.tpop USING btree (apber_relevant);
|
|
|
|
|
|
|
|
CREATE INDEX "tpop_apberrelevant_werte_DomainCode_idx" ON apflora.tpop_apberrelevant_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "tpop_apberrelevant_werte_DomainTxt_idx" ON apflora.tpop_apberrelevant_werte USING btree (text);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_apberrelevant_werte_id_idx ON apflora.tpop_apberrelevant_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX "tpop_entwicklung_werte_EntwicklungCode_idx" ON apflora.tpop_entwicklung_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX "tpop_entwicklung_werte_EntwicklungOrd_idx" ON apflora.tpop_entwicklung_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_entwicklung_werte_id_idx ON apflora.tpop_entwicklung_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_flurname_idx ON apflora.tpop USING btree (flurname);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_id_idx ON apflora.tpop USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_nr_idx ON apflora.tpop USING btree (nr);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_pop_id_idx ON apflora.tpop USING btree (pop_id);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_status_idx ON apflora.tpop USING btree (status);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_x_idx ON apflora.tpop USING btree (x);
|
|
|
|
|
|
|
|
CREATE INDEX tpop_y_idx ON apflora.tpop USING btree (y);
|
|
|
|
|
|
|
|
CREATE INDEX tpopber_entwicklung_idx ON apflora.tpopber USING btree (entwicklung);
|
|
|
|
|
|
|
|
CREATE INDEX tpopber_id_idx ON apflora.tpopber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopber_jahr_idx ON apflora.tpopber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX tpopber_tpop_id_idx ON apflora.tpopber USING btree (tpop_id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_bearbeiter_idx ON apflora.tpopkontr USING btree (bearbeiter);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_datum_idx ON apflora.tpopkontr USING btree (datum);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_entwicklung_idx ON apflora.tpopkontr USING btree (entwicklung);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_id_idx ON apflora.tpopkontr USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_idbiotuebereinst_werte_code_idx ON apflora.tpopkontr_idbiotuebereinst_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_idbiotuebereinst_werte_id_idx ON apflora.tpopkontr_idbiotuebereinst_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_idbiotuebereinst_werte_sort_idx ON apflora.tpopkontr_idbiotuebereinst_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_idealbiotop_uebereinstimmung_idx ON apflora.tpopkontr USING btree (idealbiotop_uebereinstimmung);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_jahr_idx ON apflora.tpopkontr USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_tpop_id_idx ON apflora.tpopkontr USING btree (tpop_id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_typ_idx ON apflora.tpopkontr USING btree (typ);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontr_typ_werte_id_idx ON apflora.tpopkontr_typ_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX tpopkontr_zeit_id_idx ON apflora.tpopkontr USING btree (zeit_id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_anzahl_idx ON apflora.tpopkontrzaehl USING btree (anzahl);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_einheit_idx ON apflora.tpopkontrzaehl USING btree (einheit);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_einheit_werte_code_idx ON apflora.tpopkontrzaehl_einheit_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_einheit_werte_id_idx ON apflora.tpopkontrzaehl_einheit_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_einheit_werte_sort_idx ON apflora.tpopkontrzaehl_einheit_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_id_idx ON apflora.tpopkontrzaehl USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_methode_idx ON apflora.tpopkontrzaehl USING btree (methode);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_methode_werte_code_idx ON apflora.tpopkontrzaehl_methode_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_methode_werte_id_idx ON apflora.tpopkontrzaehl_methode_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_methode_werte_sort_idx ON apflora.tpopkontrzaehl_methode_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX tpopkontrzaehl_tpopkontr_id_idx2 ON apflora.tpopkontrzaehl USING btree (tpopkontr_id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_bearbeiter_idx ON apflora.tpopmassn USING btree (bearbeiter);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_erfbeurt_werte_code_idx ON apflora.tpopmassn_erfbeurt_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_erfbeurt_werte_id_idx ON apflora.tpopmassn_erfbeurt_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_erfbeurt_werte_sort_idx ON apflora.tpopmassn_erfbeurt_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX tpopmassn_id_idx ON apflora.tpopmassn USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_jahr_idx ON apflora.tpopmassn USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_tpop_id_idx ON apflora.tpopmassn USING btree (tpop_id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_typ_idx ON apflora.tpopmassn USING btree (typ);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_typ_werte_code_idx ON apflora.tpopmassn_typ_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_typ_werte_id_idx ON apflora.tpopmassn_typ_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassn_typ_werte_sort_idx ON apflora.tpopmassn_typ_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassnber_beurteilung_idx ON apflora.tpopmassnber USING btree (beurteilung);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassnber_id_idx ON apflora.tpopmassnber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassnber_jahr_idx ON apflora.tpopmassnber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX tpopmassnber_tpop_id_idx ON apflora.tpopmassnber USING btree (tpop_id);
|
|
|
|
|
|
|
|
CREATE INDEX user_id_idx ON apflora."user" USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX user_name_idx ON apflora."user" USING btree (name);
|
|
|
|
|
|
|
|
CREATE INDEX usermessage_id_idx ON apflora.usermessage USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX usermessage_message_id_idx ON apflora.usermessage USING btree (message_id);
|
|
|
|
|
|
|
|
CREATE INDEX usermessage_user_name_idx ON apflora.usermessage USING btree (user_name);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_ap_id_idx ON apflora.ziel USING btree (ap_id);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_id_idx ON apflora.ziel USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_jahr_idx ON apflora.ziel USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_typ_idx ON apflora.ziel USING btree (typ);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_typ_werte_code_idx ON apflora.ziel_typ_werte USING btree (code);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_typ_werte_id_idx ON apflora.ziel_typ_werte USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX ziel_typ_werte_sort_idx ON apflora.ziel_typ_werte USING btree (sort);
|
|
|
|
|
|
|
|
CREATE INDEX zielber_id_idx ON apflora.zielber USING btree (id);
|
|
|
|
|
|
|
|
CREATE INDEX zielber_jahr_idx ON apflora.zielber USING btree (jahr);
|
|
|
|
|
|
|
|
CREATE INDEX zielber_ziel_id_idx ON apflora.zielber USING btree (ziel_id);
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW apflora.v_exportevab_beob AS
|
|
SELECT tpopkontr.zeit_id AS "fkZeitpunkt",
|
|
tpopkontr.id AS "idBeobachtung",
|
|
COALESCE(adresse.evab_id_person, 'a1146ae4-4e03-4032-8aa8-bc46ba02f468'::uuid) AS fkautor,
|
|
ap.art_id AS fkart,
|
|
18 AS fkartgruppe,
|
|
1 AS fkaa1,
|
|
CASE
|
|
WHEN (tpop.status < 200) THEN 4
|
|
WHEN (EXISTS ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpopkontr.tpop_id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr <= tpopkontr.jahr)))) THEN 6
|
|
WHEN (tpop.status_unklar = true) THEN 3
|
|
ELSE 5
|
|
END AS "fkAAINTRODUIT",
|
|
CASE
|
|
WHEN ((v_tpopkontr_maxanzahl.anzahl = 0) AND (EXISTS ( SELECT tpopber.tpop_id
|
|
FROM apflora.tpopber
|
|
WHERE ((tpopber.tpop_id = tpopkontr.tpop_id) AND (tpopber.entwicklung = 8) AND (tpopber.jahr = tpopkontr.jahr))))) THEN 2
|
|
WHEN (v_tpopkontr_maxanzahl.anzahl = 0) THEN 3
|
|
ELSE 1
|
|
END AS "fkAAPRESENCE",
|
|
"substring"(tpopkontr.gefaehrdung, 1, 244) AS "MENACES",
|
|
"substring"(tpopkontr.vitalitaet, 1, 200) AS "VITALITE_PLANTE",
|
|
"substring"(tpop.beschreibung, 1, 244) AS "STATION",
|
|
"substring"(concat('Anzahlen: ', array_to_string(array_agg(tpopkontrzaehl.anzahl), ', '::text), ', Zaehleinheiten: ', string_agg((tpopkontrzaehl_einheit_werte.text)::text, ', '::text), ', Methoden: ', string_agg((tpopkontrzaehl_methode_werte.text)::text, ', '::text)), 1, 244) AS "ABONDANCE",
|
|
'C'::text AS "EXPERTISE_INTRODUIT",
|
|
CASE
|
|
WHEN (apflora_adresse_2.evab_id_person IS NOT NULL) THEN "substring"(apflora_adresse_2.name, 1, 99)
|
|
ELSE 'topos Marti & Müller AG Zürich'::text
|
|
END AS "EXPERTISE_INTRODUITE_NOM"
|
|
FROM (((apflora.ap
|
|
LEFT JOIN apflora.adresse apflora_adresse_2 ON ((ap.bearbeiter = apflora_adresse_2.id)))
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (((apflora.tpopkontr
|
|
LEFT JOIN apflora.adresse ON ((tpopkontr.bearbeiter = adresse.id)))
|
|
JOIN apflora.v_tpopkontr_maxanzahl ON ((v_tpopkontr_maxanzahl.id = tpopkontr.id)))
|
|
LEFT JOIN ((apflora.tpopkontrzaehl
|
|
LEFT JOIN apflora.tpopkontrzaehl_einheit_werte ON ((tpopkontrzaehl.einheit = tpopkontrzaehl_einheit_werte.code)))
|
|
LEFT JOIN apflora.tpopkontrzaehl_methode_werte ON ((tpopkontrzaehl.methode = tpopkontrzaehl_methode_werte.code))) ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
JOIN apflora.ae_eigenschaften ON ((ae_eigenschaften.id = ap.art_id)))
|
|
WHERE ((ae_eigenschaften.taxid > 150) AND (ae_eigenschaften.taxid < 1000000) AND (tpop.x IS NOT NULL) AND (tpop.y IS NOT NULL) AND ((tpopkontr.typ)::text = ANY (ARRAY[('Ausgangszustand'::character varying)::text, ('Zwischenbeurteilung'::character varying)::text, ('Freiwilligen-Erfolgskontrolle'::character varying)::text])) AND (tpop.status <> 201) AND (tpopkontr.bearbeiter IS NOT NULL) AND (tpopkontr.bearbeiter <> 'a1146ae4-4e03-4032-8aa8-bc46ba02f468'::uuid) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.jahr)::double precision <> date_part('year'::text, ('now'::text)::date)) AND (tpop.bekannt_seit IS NOT NULL) AND ((tpop.status = ANY (ARRAY[100, 101])) OR ((tpopkontr.jahr - tpop.bekannt_seit) > 5)) AND (tpop.flurname IS NOT NULL) AND (ap.id IN ( SELECT v_exportevab_projekt."idProjekt"
|
|
FROM apflora.v_exportevab_projekt)) AND (pop.id IN ( SELECT v_exportevab_raum."idRaum"
|
|
FROM apflora.v_exportevab_raum)) AND (tpop.id IN ( SELECT v_exportevab_ort."idOrt"
|
|
FROM apflora.v_exportevab_ort)) AND (tpopkontr.zeit_id IN ( SELECT v_exportevab_zeit."idZeitpunkt"
|
|
FROM apflora.v_exportevab_zeit)))
|
|
GROUP BY tpopkontr.zeit_id, tpopkontr.tpop_id, tpopkontr.id, tpopkontr.jahr, adresse.evab_id_person, ap.id,
|
|
CASE
|
|
WHEN (tpop.status < 200) THEN 4
|
|
WHEN (EXISTS ( SELECT tpopmassn.tpop_id
|
|
FROM apflora.tpopmassn
|
|
WHERE ((tpopmassn.tpop_id = tpopkontr.tpop_id) AND ((tpopmassn.typ >= 1) AND (tpopmassn.typ <= 3)) AND (tpopmassn.jahr <= tpopkontr.jahr)))) THEN 6
|
|
WHEN (tpop.status_unklar = true) THEN 3
|
|
ELSE 5
|
|
END, v_tpopkontr_maxanzahl.anzahl, tpopkontr.gefaehrdung, tpopkontr.vitalitaet, tpop.beschreibung, apflora_adresse_2.evab_id_person, apflora_adresse_2.name;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW apflora.v_qk_apber_ohnejahr AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'AP-Bericht ohne Jahr:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'AP-Berichte'::text, (apber.id)::text] AS url,
|
|
ARRAY[concat('AP-Bericht (id): ', apber.id)] AS text
|
|
FROM (apflora.ap
|
|
JOIN apflora.apber ON ((ap.id = apber.ap_id)))
|
|
GROUP BY ap.id, apber.id
|
|
HAVING (apber.jahr IS NULL)
|
|
ORDER BY apber.id;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW apflora.v_qk_feldkontr_ohnezaehlung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Feldkontrolle ohne Zaehlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Feld-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
LEFT JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
GROUP BY ap.id, pop.id, tpop.id, tpop.nr, tpopkontr.id, tpopkontrzaehl.id
|
|
HAVING ((tpopkontrzaehl.id IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text <> 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY ap.id, pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW apflora.v_qk_freiwkontr_ohnezaehlung AS
|
|
SELECT ap.proj_id,
|
|
ap.id AS ap_id,
|
|
'Freiwilligen-Kontrolle ohne Zaehlung:'::text AS hw,
|
|
ARRAY['Projekte'::text, '4635372c-431c-11e8-bb30-e77f6cdd35a6'::text, 'Aktionspläne'::text, (ap.id)::text, 'Populationen'::text, (pop.id)::text, 'Teil-Populationen'::text, (tpop.id)::text, 'Freiwilligen-Kontrollen'::text, (tpopkontr.id)::text] AS url,
|
|
ARRAY[concat('Population (Nr.): ', pop.nr), concat('Teil-Population (Nr.): ', tpop.nr), concat('Feld-Kontrolle (Jahr): ', tpopkontr.jahr)] AS text,
|
|
tpopkontr.jahr AS "Berichtjahr"
|
|
FROM (apflora.ap
|
|
JOIN (apflora.pop
|
|
JOIN (apflora.tpop
|
|
JOIN (apflora.tpopkontr
|
|
LEFT JOIN apflora.tpopkontrzaehl ON ((tpopkontr.id = tpopkontrzaehl.tpopkontr_id))) ON ((tpop.id = tpopkontr.tpop_id))) ON ((pop.id = tpop.pop_id))) ON ((ap.id = pop.ap_id)))
|
|
GROUP BY ap.id, pop.id, tpop.id, tpop.nr, tpopkontr.id, tpopkontrzaehl.id
|
|
HAVING ((tpopkontrzaehl.id IS NULL) AND (tpopkontr.jahr IS NOT NULL) AND ((tpopkontr.typ)::text = 'Freiwilligen-Erfolgskontrolle'::text))
|
|
ORDER BY ap.id, pop.nr, tpop.nr, tpopkontr.jahr;
|
|
|
|
|
|
|
|
CREATE TRIGGER adresse_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.adresse FOR EACH ROW EXECUTE PROCEDURE public.adresse_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_bearbstand_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ap_bearbstand_werte FOR EACH ROW EXECUTE PROCEDURE public.ap_bearbstand_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_erfbeurtkrit_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ap_erfbeurtkrit_werte FOR EACH ROW EXECUTE PROCEDURE public.ap_erfbeurtkrit_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_erfkrit_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ap_erfkrit_werte FOR EACH ROW EXECUTE PROCEDURE public.ap_erfkrit_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_insert_add_apart AFTER INSERT ON apflora.ap FOR EACH ROW EXECUTE PROCEDURE apflora.ap_insert_add_apart();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_insert_add_idealbiotop AFTER INSERT ON apflora.ap FOR EACH ROW EXECUTE PROCEDURE apflora.ap_insert_add_idealbiotop();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ap FOR EACH ROW EXECUTE PROCEDURE public.ap_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ap_umsetzung_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ap_umsetzung_werte FOR EACH ROW EXECUTE PROCEDURE public.ap_umsetzung_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER apber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.apber FOR EACH ROW EXECUTE PROCEDURE public.apber_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER apberuebersicht_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.apberuebersicht FOR EACH ROW EXECUTE PROCEDURE public.apberuebersicht_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER assozart_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.assozart FOR EACH ROW EXECUTE PROCEDURE public.assozart_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER beob_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.beob FOR EACH ROW EXECUTE PROCEDURE public.beob_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ber FOR EACH ROW EXECUTE PROCEDURE public.ber_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER encrypt_pass BEFORE INSERT OR UPDATE ON apflora."user" FOR EACH ROW EXECUTE PROCEDURE auth.encrypt_pass();
|
|
|
|
|
|
|
|
CREATE CONSTRAINT TRIGGER ensure_user_role_exists AFTER INSERT OR UPDATE ON apflora."user" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE auth.check_role_exists();
|
|
|
|
|
|
|
|
CREATE TRIGGER erfkrit_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.erfkrit FOR EACH ROW EXECUTE PROCEDURE public.erfkrit_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER idealbiotop_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.idealbiotop FOR EACH ROW EXECUTE PROCEDURE public.idealbiotop_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER pop_max_one_massnber_per_year BEFORE INSERT OR UPDATE ON apflora.popmassnber FOR EACH ROW EXECUTE PROCEDURE apflora.pop_max_one_massnber_per_year();
|
|
|
|
|
|
|
|
CREATE TRIGGER pop_max_one_popber_per_year BEFORE INSERT OR UPDATE ON apflora.popber FOR EACH ROW EXECUTE PROCEDURE apflora.pop_max_one_popber_per_year();
|
|
|
|
|
|
|
|
CREATE TRIGGER pop_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.pop FOR EACH ROW EXECUTE PROCEDURE public.pop_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER pop_status_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.pop_status_werte FOR EACH ROW EXECUTE PROCEDURE public.pop_status_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER popber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.popber FOR EACH ROW EXECUTE PROCEDURE public.popber_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER popmassnber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.popmassnber FOR EACH ROW EXECUTE PROCEDURE public.popmassnber_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER projekt_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.projekt FOR EACH ROW EXECUTE PROCEDURE public.projekt_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpop_apberrelevant_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpop_apberrelevant_werte FOR EACH ROW EXECUTE PROCEDURE public.tpop_apberrelevant_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpop_entwicklung_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpop_entwicklung_werte FOR EACH ROW EXECUTE PROCEDURE public.tpop_entwicklung_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpop_max_one_massnber_per_year BEFORE INSERT OR UPDATE ON apflora.tpopmassnber FOR EACH ROW EXECUTE PROCEDURE apflora.tpop_max_one_massnber_per_year();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpop_max_one_tpopber_per_year BEFORE INSERT OR UPDATE ON apflora.tpopber FOR EACH ROW EXECUTE PROCEDURE apflora.tpop_max_one_tpopber_per_year();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpop_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpop FOR EACH ROW EXECUTE PROCEDURE public.tpop_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopber FOR EACH ROW EXECUTE PROCEDURE public.tpopber_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopkontr_idbiotuebereinst_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopkontr_idbiotuebereinst_werte FOR EACH ROW EXECUTE PROCEDURE public.tpopkontr_idbiotuebereinst_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopkontr_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopkontr FOR EACH ROW EXECUTE PROCEDURE public.tpopkontr_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopkontr_typ_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopkontr_typ_werte FOR EACH ROW EXECUTE PROCEDURE public.tpopkontr_typ_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopkontrzaehl_einheit_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopkontrzaehl_einheit_werte FOR EACH ROW EXECUTE PROCEDURE public.tpopkontrzaehl_einheit_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopkontrzaehl_methode_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopkontrzaehl_methode_werte FOR EACH ROW EXECUTE PROCEDURE public.tpopkontrzaehl_methode_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopkontrzaehl_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopkontrzaehl FOR EACH ROW EXECUTE PROCEDURE public.tpopkontrzaehl_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopmassn_erfbeurt_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopmassn_erfbeurt_werte FOR EACH ROW EXECUTE PROCEDURE public.tpopmassn_erfbeurt_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopmassn_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopmassn FOR EACH ROW EXECUTE PROCEDURE public.tpopmassn_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopmassn_typ_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopmassn_typ_werte FOR EACH ROW EXECUTE PROCEDURE public.tpopmassn_typ_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER tpopmassnber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.tpopmassnber FOR EACH ROW EXECUTE PROCEDURE public.tpopmassnber_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ziel_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ziel FOR EACH ROW EXECUTE PROCEDURE public.ziel_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER ziel_typ_werte_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.ziel_typ_werte FOR EACH ROW EXECUTE PROCEDURE public.ziel_typ_werte_on_update_set_mut();
|
|
|
|
|
|
|
|
CREATE TRIGGER zielber_on_update_set_mut BEFORE INSERT OR UPDATE ON apflora.zielber FOR EACH ROW EXECUTE PROCEDURE public.zielber_on_update_set_mut();
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_fk_adresse FOREIGN KEY (bearbeiter) REFERENCES apflora.adresse(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_fk_ae_eigenschaften FOREIGN KEY (art_id) REFERENCES apflora.ae_eigenschaften(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_fk_ap_bearbstand_werte FOREIGN KEY (bearbeitung) REFERENCES apflora.ap_bearbstand_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_fk_ap_umsetzung_werte FOREIGN KEY (umsetzung) REFERENCES apflora.ap_umsetzung_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ap
|
|
ADD CONSTRAINT ap_proj_id_fkey FOREIGN KEY (proj_id) REFERENCES apflora.projekt(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apart
|
|
ADD CONSTRAINT apart_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apart
|
|
ADD CONSTRAINT apart_fk_ae_eigenschaften FOREIGN KEY (art_id) REFERENCES apflora.ae_eigenschaften(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apber
|
|
ADD CONSTRAINT apber_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apber
|
|
ADD CONSTRAINT apber_fk_adresse FOREIGN KEY (bearbeiter) REFERENCES apflora.adresse(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apber
|
|
ADD CONSTRAINT apber_fk_ap_erfkrit_werte FOREIGN KEY (beurteilung) REFERENCES apflora.ap_erfkrit_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.apberuebersicht
|
|
ADD CONSTRAINT apberuebersicht_proj_id_fkey FOREIGN KEY (proj_id) REFERENCES apflora.projekt(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.assozart
|
|
ADD CONSTRAINT assozart_ae_id_fkey FOREIGN KEY (ae_id) REFERENCES apflora.ae_eigenschaften(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.assozart
|
|
ADD CONSTRAINT assozart_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.assozart
|
|
ADD CONSTRAINT assozart_fk_ae_eigenschaften FOREIGN KEY (ae_id) REFERENCES apflora.ae_eigenschaften(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.beob
|
|
ADD CONSTRAINT beob_fk_ae_eigenschaften FOREIGN KEY (art_id) REFERENCES apflora.ae_eigenschaften(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.beob
|
|
ADD CONSTRAINT beob_fk_beob_quelle_werte FOREIGN KEY (quelle_id) REFERENCES apflora.beob_quelle_werte(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.beob
|
|
ADD CONSTRAINT beob_tpop_id_fkey FOREIGN KEY (tpop_id) REFERENCES apflora.tpop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ber
|
|
ADD CONSTRAINT ber_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.erfkrit
|
|
ADD CONSTRAINT erfkrit_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.erfkrit
|
|
ADD CONSTRAINT erfkrit_fk_ap_erfkrit_werte FOREIGN KEY (erfolg) REFERENCES apflora.ap_erfkrit_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.usermessage
|
|
ADD CONSTRAINT fk_user FOREIGN KEY (user_name) REFERENCES apflora."user"(name) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.idealbiotop
|
|
ADD CONSTRAINT idealbiotop_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.pop
|
|
ADD CONSTRAINT pop_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.pop
|
|
ADD CONSTRAINT pop_fk_pop_status_werte FOREIGN KEY (status) REFERENCES apflora.pop_status_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.popber
|
|
ADD CONSTRAINT popber_fk_tpop_entwicklung_werte FOREIGN KEY (entwicklung) REFERENCES apflora.tpop_entwicklung_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.popber
|
|
ADD CONSTRAINT popber_pop_id_fkey FOREIGN KEY (pop_id) REFERENCES apflora.pop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.popmassnber
|
|
ADD CONSTRAINT popmassnber_fk_tpopmassn_erfbeurt_werte FOREIGN KEY (beurteilung) REFERENCES apflora.tpopmassn_erfbeurt_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.popmassnber
|
|
ADD CONSTRAINT popmassnber_pop_id_fkey FOREIGN KEY (pop_id) REFERENCES apflora.pop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop
|
|
ADD CONSTRAINT tpop_fk_tpop_apberrelevant_werte FOREIGN KEY (apber_relevant) REFERENCES apflora.tpop_apberrelevant_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop
|
|
ADD CONSTRAINT tpop_fk_tpop_status_werte FOREIGN KEY (status) REFERENCES apflora.pop_status_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpop
|
|
ADD CONSTRAINT tpop_pop_id_fkey FOREIGN KEY (pop_id) REFERENCES apflora.pop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopber
|
|
ADD CONSTRAINT tpopber_fk_tpop_entwicklung_werte FOREIGN KEY (entwicklung) REFERENCES apflora.tpop_entwicklung_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopber
|
|
ADD CONSTRAINT tpopber_tpop_id_fkey FOREIGN KEY (tpop_id) REFERENCES apflora.tpop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr
|
|
ADD CONSTRAINT tpopkontr_fk_adresse FOREIGN KEY (bearbeiter) REFERENCES apflora.adresse(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr
|
|
ADD CONSTRAINT tpopkontr_fk_tpop_entwicklung_werte FOREIGN KEY (entwicklung) REFERENCES apflora.tpop_entwicklung_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr
|
|
ADD CONSTRAINT tpopkontr_fk_tpopkontr_idbiotuebereinst_werte FOREIGN KEY (idealbiotop_uebereinstimmung) REFERENCES apflora.tpopkontr_idbiotuebereinst_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr
|
|
ADD CONSTRAINT tpopkontr_fk_tpopkontr_typ_werte FOREIGN KEY (typ) REFERENCES apflora.tpopkontr_typ_werte(text) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontr
|
|
ADD CONSTRAINT tpopkontr_tpop_id_fkey FOREIGN KEY (tpop_id) REFERENCES apflora.tpop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl
|
|
ADD CONSTRAINT tpopkontrzaehl_fk_tpopkontrzaehl_einheit_werte FOREIGN KEY (einheit) REFERENCES apflora.tpopkontrzaehl_einheit_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl
|
|
ADD CONSTRAINT tpopkontrzaehl_fk_tpopkontrzaehl_methode_werte FOREIGN KEY (methode) REFERENCES apflora.tpopkontrzaehl_methode_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopkontrzaehl
|
|
ADD CONSTRAINT tpopkontrzaehl_tpopkontr_id_fkey FOREIGN KEY (tpopkontr_id) REFERENCES apflora.tpopkontr(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn
|
|
ADD CONSTRAINT tpopmassn_fk_adresse FOREIGN KEY (bearbeiter) REFERENCES apflora.adresse(id) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn
|
|
ADD CONSTRAINT tpopmassn_fk_tpopmassn_typ_werte FOREIGN KEY (typ) REFERENCES apflora.tpopmassn_typ_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassn
|
|
ADD CONSTRAINT tpopmassn_tpop_id_fkey FOREIGN KEY (tpop_id) REFERENCES apflora.tpop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassnber
|
|
ADD CONSTRAINT tpopmassnber_fk_tpopmassn_erfbeurt_werte FOREIGN KEY (beurteilung) REFERENCES apflora.tpopmassn_erfbeurt_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.tpopmassnber
|
|
ADD CONSTRAINT tpopmassnber_tpop_id_fkey FOREIGN KEY (tpop_id) REFERENCES apflora.tpop(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.usermessage
|
|
ADD CONSTRAINT usermessage_message_id_fkey FOREIGN KEY (message_id) REFERENCES apflora.message(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ziel
|
|
ADD CONSTRAINT ziel_ap_id_fkey FOREIGN KEY (ap_id) REFERENCES apflora.ap(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.ziel
|
|
ADD CONSTRAINT ziel_fk_ziel_typ_werte FOREIGN KEY (typ) REFERENCES apflora.ziel_typ_werte(code) ON UPDATE CASCADE ON DELETE SET NULL;
|
|
|
|
|
|
|
|
ALTER TABLE ONLY apflora.zielber
|
|
ADD CONSTRAINT zielber_ziel_id_fkey FOREIGN KEY (ziel_id) REFERENCES apflora.ziel(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
ALTER TABLE apflora."user" ENABLE ROW LEVEL SECURITY;
|
|
|
|
DROP ROLE IF EXISTS postgrest_test_anonymous;
|
|
CREATE ROLE postgrest_test_anonymous;
|
|
|
|
GRANT postgrest_test_anonymous TO :PGUSER;
|
|
|
|
GRANT USAGE ON SCHEMA apflora TO postgrest_test_anonymous;
|
|
|
|
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA apflora
|
|
TO postgrest_test_anonymous;
|
|
|
|
create or replace function apflora.notify_pgrst() returns void as $$
|
|
notify pgrst;
|
|
$$ language sql;
|