database: Add v_stat_modifier

This commit is contained in:
2024-06-28 21:03:52 +02:00
parent c772ddcc12
commit 59b0b6ce48
2 changed files with 15 additions and 1 deletions

View File

@ -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 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 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; 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;

View File

@ -1,3 +1,3 @@
-- This value MUST NOT be changed while other connections are open! -- This value MUST NOT be changed while other connections are open!
PRAGMA schema_version = 2200; PRAGMA schema_version = 2300;