diff --git a/sql/v01/20.view.sql b/sql/v01/20.view.sql index b057925..53d79aa 100644 --- a/sql/v01/20.view.sql +++ b/sql/v01/20.view.sql @@ -86,3 +86,28 @@ SELECT year, sortid, attributes, FROM v_delivery GROUP BY year, sortid, attributes ORDER BY year, sortid, LENGTH(attributes) DESC, attributes; + +CREATE VIEW v_bki_member AS +SELECT s.year, m.mgnr, m.lfbis_nr, m.family_name, + (COALESCE(m.prefix || ' ', '') || m.given_name || COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '')) AS name, + a.name AS billing_name, COALESCE(a.address, m.address) AS address, + COALESCE(a.country, m.country) AS country, COALESCE(a.postal_dest, m.postal_dest) AS postal_dest, + SUM(IIF(c.year_from <= s.year AND (c.year_to IS NULL OR c.year_to >= s.year), c.area, 0)) AS area +FROM season s, member m + LEFT JOIN member_billing_address a ON a.mgnr = m.mgnr + LEFT JOIN area_commitment c ON c.mgnr = m.mgnr +GROUP BY s.year, m.mgnr; + +CREATE VIEW v_bki_delivery AS +SELECT m.lfbis_nr, m.family_name, m.name, m.billing_name, + m.address, plz.plz, IIF(INSTR(o.name, ',') = 0, o.name, SUBSTR(o.name, 1, INSTR(o.name, ',') - 1)) AS ort, + d.date, d.weight, v.type, v.sortid, d.qualid, d.year, d.hkid, d.kmw, d.oe, + m.area +FROM v_delivery d + JOIN v_bki_member m ON (m.year, m.mgnr) = (d.year, d.mgnr) + JOIN postal_dest pd ON (pd.country, pd.id) = (m.country, m.postal_dest) + LEFT JOIN AT_plz_dest ap ON (ap.country, ap.id) = (pd.country, pd.id) + LEFT JOIN AT_plz plz ON plz.plz = ap.plz + LEFT JOIN AT_ort o ON o.okz = ap.okz + JOIN wine_variety v ON v.sortid = d.sortid +ORDER BY d.date, d.time;