Files
Rikard BartholfandGitHub 2a3b6a0351 Add v_analytics_products.repeating_pattern (#471)
* Add v_analytics_products.repeating_pattern

* Bump migration version before release
2025-04-14 11:57:45 +02:00

45 lines
2.0 KiB
SQL

DROP VIEW IF EXISTS public.v_analytics_products;
CREATE VIEW public.v_analytics_products
AS
SELECT products.productid AS product_id,
products.path AS product_path,
products.visible,
products.browsable,
products.inserted AS product_inserted,
products.updated AS product_updated,
designers.designerid AS designer_id,
designers.name AS designer_name,
products.ref1,
products.ref2,
products.ref3,
artno.value AS artno,
name.value AS product_name,
width.value::integer AS width,
height.value::integer AS height,
copyright.value AS copyright,
batch.value AS batch,
COALESCE(products.updated, products.inserted) AS last_updated,
( SELECT s.uri
FROM v_interior_image_urls s
WHERE products.productid = s.productid AND (s.product_group = ANY (ARRAY[1, 3]))
ORDER BY s."position"
LIMIT 1) AS interior_primary_uri,
CASE WHEN EXISTS (
SELECT 1 FROM "product-printproducts" s WHERE s.groupid = 3 AND s.productid = products.productid
)
THEN TRUE
ELSE FALSE
END AS repeating_pattern
FROM "product-products" products
LEFT JOIN designers ON products.designerid = designers.designerid
LEFT JOIN "product-products_fields" artno ON artno.fieldid = 1 AND artno.productid = products.productid
LEFT JOIN "product-products_fields" name ON name.fieldid = 2 AND name.productid = products.productid
LEFT JOIN "product-products_fields" width ON width.fieldid = 5 AND width.productid = products.productid
LEFT JOIN "product-products_fields" height ON height.fieldid = 3 AND height.productid = products.productid
LEFT JOIN "product-products_fields" copyright ON copyright.fieldid = 25 AND copyright.productid = products.productid
LEFT JOIN "product-products_fields" batch ON batch.fieldid = 36 AND batch.productid = products.productid;
GRANT SELECT ON TABLE public.v_analytics_products TO datastudio;
GRANT SELECT ON TABLE public.v_analytics_products TO funnel;