39 lines
1.3 KiB
SQL
39 lines
1.3 KiB
SQL
-- Add v_funnel_order_rows.segment and .segment_price
|
|
|
|
DROP VIEW public.v_funnel_order_rows;
|
|
CREATE VIEW public.v_funnel_order_rows AS
|
|
SELECT
|
|
r.id,
|
|
r.order_id,
|
|
r.inserted,
|
|
r.type,
|
|
o.customer_type,
|
|
o.market,
|
|
pp.path,
|
|
pp.publishing_date,
|
|
pp.ref1,
|
|
pp.ref2,
|
|
r.data ->> 'width'::text AS width,
|
|
r.data ->> 'height'::text AS height,
|
|
r.sub_type,
|
|
r.status,
|
|
r.price,
|
|
r.commission_amount,
|
|
r.external_status,
|
|
r.data ->> 'productId'::text AS product_id,
|
|
r.data ->> 'material'::text AS material,
|
|
r.data ->> 'artNo'::text AS artno,
|
|
r.data ->> 'designer'::text AS designer,
|
|
(r.data ->> 'inquiryid'::text)::integer AS inquiry_id,
|
|
CASE r.type
|
|
WHEN 'refund'::order_row_type THEN COALESCE((r.data ->> 'discount_amount'::text)::numeric, 0::numeric)
|
|
ELSE 0::numeric - COALESCE((r.data ->> 'discount_amount'::text)::numeric, 0::numeric)
|
|
END AS discount,
|
|
CASE r.type WHEN 'refund' THEN NULL ELSE r.data ->> 'segment'::text END AS segment,
|
|
CASE r.type WHEN 'refund' THEN NULL ELSE (r.data ->> 'segment_price'::text)::numeric END AS segment_price
|
|
FROM
|
|
order_rows r
|
|
JOIN orders o ON r.order_id = o.id
|
|
LEFT JOIN "product-products" pp ON ((r.data ->> 'productId'::text)::integer) = pp.productid;
|
|
|
|
GRANT SELECT ON public.v_funnel_order_rows TO funnel; |