118 lines
2.9 KiB
SQL
118 lines
2.9 KiB
SQL
WITH
|
|
pc AS materialized (
|
|
SELECT
|
|
STLC
|
|
,COALESCE(COLTIER,'') COLTIER
|
|
,coalesce(BRANDING,'' ) branding
|
|
,COALESCE(ACCS ,'') ACCS
|
|
,COALESCE(SUFF,'') SUFFIX
|
|
----price 1 -----------------
|
|
,PCKG PCKG1
|
|
,1 VOLL1
|
|
,PCKG VOL1_UOM
|
|
,PACK VOL1_PRICE
|
|
----price 2 -----------------
|
|
,PCKG PCKG2
|
|
,1 VOLl2
|
|
,'PLT' VOL2_UOM
|
|
,MP VOL2_PRICE
|
|
----price 3 -----------------
|
|
,'PLT' PCKG3
|
|
,1 VOLL3
|
|
,'PLT' VOL3_UOM
|
|
,BULK VOL3_PRICE
|
|
FROM
|
|
rlarp.PCORE P
|
|
)
|
|
,colors AS (
|
|
SELECT
|
|
pc.STLC
|
|
,pc.COLTIER
|
|
,pc.branding
|
|
,pc.ACCS
|
|
,pc.SUFFIX
|
|
,string_agg( DISTINCT ltrim(rtrim(i.COLC)),', ') clist
|
|
----price 1 -----------------
|
|
,pc.PCKG1
|
|
,pc.VOLL1
|
|
,pc.VOL1_UOM
|
|
,pc.VOL1_PRICE
|
|
----price 2 -----------------
|
|
,pc.PCKG2
|
|
,pc.VOLl2
|
|
,pc.VOL2_UOM
|
|
,pc.VOL2_PRICE
|
|
----price 3 -----------------
|
|
,pc.PCKG1
|
|
,pc.VOLL3
|
|
,pc.VOL3_UOM
|
|
,pc.VOL3_PRICE
|
|
FROM
|
|
pc
|
|
LEFT OUTER JOIN RLARP.ITEMMv i ON
|
|
i.STLC = pc.stlc
|
|
AND i.COLTIER = pc.coltier
|
|
--relax relationship to pick up any colors that we run for the mold and color tier
|
|
--AND COALESCE(i.BRANDING,'') = pc.branding
|
|
--AND COALESCE(i.ACCS,'') = pc.ACCS
|
|
--AND COALESCE(i.SUFFIX,'') = pc.suffix
|
|
AND APLNT <> 'I'
|
|
GROUP BY
|
|
pc.STLC
|
|
,pc.COLTIER
|
|
,pc.branding
|
|
,pc.ACCS
|
|
,pc.SUFFIX
|
|
----price 1 -----------------
|
|
,pc.PCKG1
|
|
,pc.VOLL1
|
|
,pc.VOL1_UOM
|
|
,pc.VOL1_PRICE
|
|
----price 2 -----------------
|
|
,pc.PCKG2
|
|
,pc.VOLl2
|
|
,pc.VOL2_UOM
|
|
,pc.VOL2_PRICE
|
|
----price 3 -----------------
|
|
,pc.PCKG1
|
|
,pc.VOLL3
|
|
,pc.VOL3_UOM
|
|
,pc.VOL3_PRICE
|
|
)
|
|
-----------since joining to the item master will be differnt for the last bulk columm---------------
|
|
-----------must first pivot the data out then join based on the type of row-------------------------
|
|
,items_init AS (
|
|
SELECT
|
|
pc.STLC
|
|
,pc.coltier
|
|
,pc.branding
|
|
,pc.accs
|
|
,pc.suffix
|
|
,row_number() OVER (PARTITION BY pc.stlc, pc.coltier, pc.branding, pc.accs, pc.suffix ORDER BY item DESC) seq
|
|
,item
|
|
,vol1_uom
|
|
,vol2_uom
|
|
,vol3_uom
|
|
,'PC' to_uom
|
|
FROM
|
|
pc
|
|
LEFT OUTER JOIN RLARP.ITEMMv i ON
|
|
i.STLC = pc.stlc
|
|
--AND i.COLTIER = pc.coltier
|
|
AND COALESCE(i.BRANDING,'') = pc.branding
|
|
AND COALESCE(i.ACCS,'') = pc.ACCS
|
|
AND COALESCE(i.SUFFIX,'') = pc.suffix
|
|
AND APLNT <> 'I'
|
|
)
|
|
,items AS (
|
|
SELECT * FROM items_init where seq = 1
|
|
)
|
|
,uom AS (
|
|
SELECT item partn, vol1_uom from_uom, 'pc' to_uom FROM items_init
|
|
UNION ALL
|
|
SELECT item partn, vol2_uom from_uom, 'pc' to_uom FROM items_init
|
|
UNION ALL
|
|
SELECT item partn, vol3_uom from_uom, 'pc' to_uom FROM items_init
|
|
)
|
|
SELECT * FROM uom
|