49 lines
2.1 KiB
SQL
49 lines
2.1 KiB
SQL
-- schema version 26 to 27
|
|
|
|
PRAGMA writable_schema = ON;
|
|
|
|
ALTER TABLE member RENAME COLUMN family_name TO name;
|
|
ALTER TABLE member ADD COLUMN attn TEXT DEFAULT NULL;
|
|
ALTER TABLE member ADD COLUMN juridical_pers INTEGER NOT NULL CHECK (juridical_pers IN (TRUE, FALSE)) DEFAULT FALSE;
|
|
|
|
UPDATE sqlite_schema SET sql = REPLACE(sql, 'given_name TEXT NOT NULL', 'given_name TEXT DEFAULT NULL')
|
|
WHERE type = 'table' AND name = 'member';
|
|
|
|
DROP VIEW v_bki_member;
|
|
CREATE VIEW v_bki_member AS
|
|
SELECT s.year, m.mgnr, m.lfbis_nr, m.name,
|
|
(COALESCE(m.prefix || ' ', '') || m.given_name || COALESCE(' ' || m.middle_names, '') || COALESCE(' ' || m.suffix, '')) AS other_names,
|
|
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;
|
|
|
|
DROP VIEW v_bki_delivery;
|
|
CREATE VIEW v_bki_delivery AS
|
|
SELECT m.lfbis_nr, m.name, m.other_names, 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;
|
|
|
|
PRAGMA schema_version = 2601;
|
|
PRAGMA writable_schema = OFF;
|
|
|
|
UPDATE member
|
|
SET name = a.name, juridical_pers = TRUE
|
|
FROM member_billing_address a
|
|
WHERE a.mgnr = member.mgnr AND member.name = '';
|
|
|
|
DELETE FROM member_billing_address
|
|
WHERE mgnr IN (SELECT mgnr FROM member WHERE name = member_billing_address.name)
|