include pricing and colors in final query

This commit is contained in:
Paul Trowbridge 2021-01-11 23:40:37 -05:00
parent 690b325e78
commit fcdb134b76

View File

@ -1,3 +1,4 @@
--EXPLAIN (ANALYZE, BUFFERS)
WITH WITH
pc AS materialized ( pc AS materialized (
SELECT SELECT
@ -31,22 +32,23 @@ SELECT
,pc.branding ,pc.branding
,pc.ACCS ,pc.ACCS
,pc.SUFFIX ,pc.SUFFIX
,string_agg( DISTINCT ltrim(rtrim(i.COLC)),', ') clist ,string_agg( DISTINCT ltrim(rtrim(i.COLC)),', ') tclist
----price 1 ----------------- ,jsonb_agg( DISTINCT ltrim(rtrim(i.COLC))) clist
,pc.PCKG1 ------price 1 -----------------
,pc.VOLL1 --,pc.PCKG1
,pc.VOL1_UOM --,pc.VOLL1
,pc.VOL1_PRICE --,pc.VOL1_UOM
----price 2 ----------------- --,pc.VOL1_PRICE
,pc.PCKG2 ------price 2 -----------------
,pc.VOLl2 --,pc.PCKG2
,pc.VOL2_UOM --,pc.VOLl2
,pc.VOL2_PRICE --,pc.VOL2_UOM
----price 3 ----------------- --,pc.VOL2_PRICE
,pc.PCKG1 ------price 3 -----------------
,pc.VOLL3 --,pc.PCKG1
,pc.VOL3_UOM --,pc.VOLL3
,pc.VOL3_PRICE --,pc.VOL3_UOM
--,pc.VOL3_PRICE
FROM FROM
pc pc
LEFT OUTER JOIN RLARP.ITEMMv i ON LEFT OUTER JOIN RLARP.ITEMMv i ON
@ -91,6 +93,8 @@ GROUP BY
,1 col ,1 col
,pc.pckg1 pckg ,pc.pckg1 pckg
,pc.vol1_uom vol_uom ,pc.vol1_uom vol_uom
,pc.voll1 vol_qty
,pc.vol1_price price
FROM FROM
pc pc
UNION UNION
@ -103,6 +107,8 @@ GROUP BY
,2 col ,2 col
,pc.pckg2 pckg ,pc.pckg2 pckg
,pc.vol2_uom vol_uom ,pc.vol2_uom vol_uom
,pc.voll2 vol_qty
,pc.vol2_price price
FROM FROM
pc pc
UNION UNION
@ -115,6 +121,8 @@ GROUP BY
,3 col ,3 col
,pc.pckg3 pckg ,pc.pckg3 pckg
,pc.vol3_uom vol_uom ,pc.vol3_uom vol_uom
,pc.voll3 vol_qty
,pc.vol3_price price
FROM FROM
pc pc
) )
@ -130,8 +138,25 @@ SELECT
--retain this column to re-pivot back to original format --retain this column to re-pivot back to original format
,up.col ,up.col
,up.vol_uom ,up.vol_uom
,up.voL_qty
,up.price
,row_number() OVER (PARTITION BY up.stlc, up.coltier, up.branding, up.accs, up.suffix, up.pckg, up.col, up.vol_uom ORDER BY item DESC) seq ,row_number() OVER (PARTITION BY up.stlc, up.coltier, up.branding, up.accs, up.suffix, up.pckg, up.col, up.vol_uom ORDER BY item DESC) seq
,item ,item
--subquery option is not performant at all
--,(
-- SELECT
-- item
-- FROM
-- rlarp.itemmv v
-- WHERE
-- v.stlc = up.stlc
-- AND v.branding = up.branding
-- AND v.accs = up.accs
-- AND v.suffix = up.suffix
-- AND v.uomp ? up.pckg
-- AND v.aplnt <> 'I'
-- LIMIT 1
--) item_subq
FROM FROM
unpivot up unpivot up
LEFT OUTER JOIN RLARP.ITEMMv i ON LEFT OUTER JOIN RLARP.ITEMMv i ON
@ -175,13 +200,16 @@ FROM
SELECT SELECT
i.* i.*
,c.* ,c.*
,l.clist
FROM FROM
items_init i items_init i
LEFT OUTER JOIN conversion c ON LEFT OUTER JOIN conversion c ON
c.p = i.item c.p = i.item
AND c.f = i.vol_uom
NATURAL JOIN colors l
WHERE WHERE
i.seq = 1 i.seq = 1
ORDER BY ORDER BY
stlc i.stlc
,coltier ,i.coltier
,col ,i.col