diff --git a/sql/v01/30.create.view.sql b/sql/v01/30.create.view.sql index 96497f6..dd997f7 100644 --- a/sql/v01/30.create.view.sql +++ b/sql/v01/30.create.view.sql @@ -147,3 +147,17 @@ FROM delivery_part p GROUP BY d.year, d.zwstid, v.type, v.sortid, IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL), p.cultid, q.qualid, geb HAVING SUM(value) > 0 ORDER BY d.year, d.zwstid, v.type DESC, v.sortid, IIF(b.discr = a.attrid OR NOT a.area_com, a.attrid, NULL), p.cultid, q.min_kmw, geb; + +CREATE VIEW v_stat_modifier AS +SELECT v.year, v.avnr, m.modid, m.name, m.abs, m.rel, + COUNT(*) AS count, + MIN(IIF(p.net_amount = 0 AND m.abs IS NULL, NULL, ROUND(COALESCE(d.weight * m.abs, 0) + COALESCE(p.net_amount * m.rel, 0)))) AS min, + MAX(IIF(p.net_amount = 0 AND m.abs IS NULL, NULL, ROUND(COALESCE(d.weight * m.abs, 0) + COALESCE(p.net_amount * m.rel, 0)))) AS max, + SUM(ROUND(COALESCE(d.weight * m.abs, 0) + COALESCE(p.net_amount * m.rel, 0))) AS sum +FROM payment_variant v + JOIN modifier m ON m.year = v.year + JOIN delivery_part d ON d.year = v.year + JOIN delivery_part_modifier x ON (x.year, x.did, x.dpnr, x.modid) = (d.year, d.did, d.dpnr, m.modid) + LEFT JOIN payment_delivery_part p ON (p.year, p.did, p.dpnr, p.avnr) = (d.year, d.did, d.dpnr, v.avnr) +GROUP BY v.year, v.avnr, m.modid +ORDER BY v.year, v.avnr, m.ordering; diff --git a/sql/v01/99.schema_version.sql b/sql/v01/99.schema_version.sql index b2bf2f7..2f4336e 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 = 2200; +PRAGMA schema_version = 2300;