Files
database/migrations/archive/000.142.sql
T
Rikard BartholfandGitHub ddcbd0afb0 Archive old migrations (#426)
* Archive old migrations

* Fix invalid placement of migrations
2024-10-17 11:19:12 +02:00

80 lines
4.6 KiB
SQL

-- P5-4606 add canvas frame, poster hanginglist, framed-print color
DROP VIEW IF EXISTS v_analytics_order_rows;
CREATE VIEW v_analytics_order_rows AS
SELECT
CASE
WHEN country_code.value IS NULL THEN 'Unknown'
WHEN country_code.value = 'GB' THEN 'Photowall UK'
WHEN country_code.value in ('SE','NO','DE','AT','FR','ES','FI','DK','PL','US','NL') THEN 'Photowall '||country_code.value
ELSE 'Photowall OTHER'
END AS account,
orderrows.orderid as orderid,
orderrows.rowid as rowid,
orders.inserted::DATE as orderdate,
artno.value as artno,
productid.value as productid,
name.value as name,
inquiryid.value as inquiryid,
CASE
WHEN producttype.value = 'stock' AND productpath.value = 'sample' THEN 'Sample'
ELSE productgroup.value
END AS type,
material.value as material,
width.value as width,
height.value as height,
CASE
WHEN status.value = 'process' THEN 'Ready for processing'
WHEN status.value = 'print' THEN 'Ready for printing'
WHEN status.value = 'sent' OR status.value = 'pack' THEN 'Ready for packing'
ELSE 'Unknown'
END AS status,
commission.value as commission_percent,
round(commission_amount.value::float) as commission_amount,
discount_type.value as discount_type,
discount_value.value as discount_value,
CASE
WHEN discount_type.value != '%'
THEN discount_value.value::float / exchange_rate.value::float
ELSE null
END AS discount_amount_sek,
order_currency.value as order_currency,
designer.value as designer,
price.value::float / exchange_rate.value::float as item_value_sek,
framed.value as canvas_frame,
poster_hanger.value as poster_hanger,
frame_color.value as framed_print_frame
from
"order-rows" orderrows
left join "order-rows_details" artno on orderrows.rowid = artno.rowid and artno.fieldid = 95
left join "order-rows_details" productid on orderrows.rowid = productid.rowid and productid.fieldid = 92
left join "order-rows_details" name on orderrows.rowid = name.rowid and name.fieldid = 97
left join "order-rows_details" price on orderrows.rowid = price.rowid and price.fieldid = 98
left join "order-rows_details" modifier on orderrows.rowid = modifier.rowid and modifier.fieldid = 113
left join "order-rows_details" inquiryid on orderrows.rowid = inquiryid.rowid and inquiryid.fieldid = 114
left join "order-rows_details" producttype on orderrows.rowid = producttype.rowid and producttype.fieldid = 94
left join "order-rows_details" productpath on orderrows.rowid = productpath.rowid and productpath.fieldid = 96
left join "order-rows_details" productgroup on orderrows.rowid = productgroup.rowid and productgroup.fieldid = 93
left join "order-rows_details" material on orderrows.rowid = material.rowid and material.fieldid = 131
left join "order-rows_details" width on orderrows.rowid = width.rowid and width.fieldid = 99
left join "order-rows_details" height on orderrows.rowid = height.rowid and height.fieldid = 100
left join "order-rows_details" status on orderrows.rowid = status.rowid and status.fieldid = 108
left join "order-rows_details" commission on orderrows.rowid = commission.rowid and commission.fieldid = 106
left join "order-rows_details" commission_amount on orderrows.rowid = commission_amount.rowid and commission_amount.fieldid = 120
left join "order-rows_details" discount_type on orderrows.rowid = discount_type.rowid and discount_type.fieldid = 142
left join "order-rows_details" discount_value on orderrows.rowid = discount_value.rowid and discount_value.fieldid = 143
left join "order-rows_details" poster_hanger on orderrows.rowid = poster_hanger.rowid and poster_hanger.fieldid = 153
left join "order-rows_details" framed on orderrows.rowid = framed.rowid and framed.fieldid = 122
left join "order-rows_details" frame_color on orderrows.rowid = frame_color.rowid and frame_color.fieldid = 156
left join "order-orders_fields" order_currency on orderrows.orderid = order_currency.orderid and order_currency.fieldid = 169
left join "order-orders_fields" country_code on orderrows.orderid = country_code.orderid and country_code.fieldid = 151
left join "order-rows_details" designer on orderrows.rowid = designer.rowid and designer.fieldid = 104
left join "order-orders_fields" exchange_rate on orderrows.orderid = exchange_rate.orderid AND exchange_rate.fieldid = 171
left join "order-orders" orders on orders.orderid = orderrows.orderid
where
modifier.rowid is null
;
GRANT SELECT ON v_analytics_order_rows TO datastudio;