From 046ff56fefb5bbdfb2f9e267fd2e1b4edc1ef013 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Wed, 21 Feb 2024 14:39:22 +0100 Subject: [PATCH] database: Add v_virtual_season --- sql/v01/30.create.view.sql | 6 ++++++ sql/v01/31.create.bucket-view.sql | 2 +- sql/v01/99.schema_version.sql | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sql/v01/30.create.view.sql b/sql/v01/30.create.view.sql index a3f1965..4731cdc 100644 --- a/sql/v01/30.create.view.sql +++ b/sql/v01/30.create.view.sql @@ -5,6 +5,12 @@ FROM AT_gem g JOIN AT_ort o ON o.gkz = g.gkz JOIN AT_plz_dest p ON p.okz = o.okz; +CREATE VIEW v_virtual_season AS +SELECT year, max_kg_per_ha +FROM season +UNION +SELECT strftime('%Y', date()) + 0, (SELECT max_kg_per_ha FROM season ORDER BY year DESC LIMIT 1); + CREATE VIEW v_delivery AS SELECT p.year, p.did, p.dpnr, d.date, d.time, d.zwstid, d.lnr, d.lsnr, diff --git a/sql/v01/31.create.bucket-view.sql b/sql/v01/31.create.bucket-view.sql index 761f4bf..aa69e21 100644 --- a/sql/v01/31.create.bucket-view.sql +++ b/sql/v01/31.create.bucket-view.sql @@ -7,7 +7,7 @@ SELECT s.year, c.mgnr, CAST(ROUND(SUM(area) * COALESCE(t.min_kg_per_ha, 0) / 10000.0, 0) AS INTEGER) AS min_kg, CAST(ROUND(SUM(area) * MIN(COALESCE(a.max_kg_per_ha, s.max_kg_per_ha), s.max_kg_per_ha) / 10000.0, 0) AS INTEGER) AS max_kg, CAST(ROUND(SUM(area) * s.max_kg_per_ha / 10000.0, 0) AS INTEGER) AS upper_max_kg -FROM season s, area_commitment c +FROM v_virtual_season s, area_commitment c JOIN area_commitment_type t ON t.vtrgid = c.vtrgid LEFT JOIN wine_attribute a ON a.attrid = t.attrid WHERE (year_from IS NULL OR year_from <= s.year) AND diff --git a/sql/v01/99.schema_version.sql b/sql/v01/99.schema_version.sql index c9d4eb6..5aefa44 100644 --- a/sql/v01/99.schema_version.sql +++ b/sql/v01/99.schema_version.sql @@ -1,3 +1,3 @@ -- This value MUST NOT be changed while other connections are open! -PRAGMA schema_version = 1600; +PRAGMA schema_version = 1700;