-- schema version 3 to 4 DROP VIEW v_payment_bin; CREATE VIEW v_payment_bin AS SELECT d.year, d.mgnr, sortid || discr AS bin, SUM(value) AS weight FROM v_delivery d JOIN delivery_part_bin b ON (b.year, b.did, b.dpnr) = (d.year, d.did, d.dpnr) GROUP BY d.year, d.mgnr, bin HAVING SUM(value) > 0 ORDER BY d.year, d.mgnr, LENGTH(bin) DESC, bin; CREATE VIEW v_area_commitment_bin AS SELECT s.year, c.mgnr, c.vtrgid AS bin, CAST(ROUND(SUM(COALESCE(area * min_kg_per_ha, 0)) / 10000.0, 0) AS INTEGER) AS min_kg, CAST(ROUND(SUM(COALESCE(area * max_kg_per_ha, 0)) / 10000.0, 0) AS INTEGER) AS max_kg FROM area_commitment c, season s JOIN area_commitment_type t ON t.vtrgid = c.vtrgid WHERE (year_from IS NULL OR year_from <= s.year) AND (year_to IS NULL OR year_to >= s.year) GROUP BY s.year, c.mgnr, c.vtrgid ORDER BY s.year, c.mgnr, LENGTH(c.vtrgid) DESC, c.vtrgid;