duplicate dss dsq key sets built into json

This commit is contained in:
Paul Trowbridge 2025-08-07 02:08:07 -04:00
parent 213d1419fb
commit 47d77d3706

View File

@ -166,14 +166,26 @@ WITH exploded_flags AS (
) )
--SELECT * FROM flag_json --SELECT * FROM flag_json
-- Step 3.4: Nest dss/dsq under each dataseg -- Step 3.4: Nest dss/dsq under each dataseg
-- Only keep the most recent dss/dsq per dataseg/version (prevents duplicate keys)
,seg_pieces AS ( ,seg_pieces AS (
SELECT SELECT
customer, customer,
partgroup, partgroup,
dataseg, dataseg,
STRING_AGG(json_piece, ',') AS inner_json STRING_AGG(json_piece, ',') AS inner_json
FROM (
SELECT sf.*
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY customer, partgroup, dataseg, flag
ORDER BY odate DESC, version DESC -- prefer most recent, then prefer 'Actual' over 'Quotes'
) AS rn
FROM serialized_flags FROM serialized_flags
WHERE flag IN ('dss', 'dsq') WHERE flag IN ('dss', 'dsq')
) sf
WHERE sf.rn = 1
) deduped
GROUP BY customer, partgroup, dataseg GROUP BY customer, partgroup, dataseg
) )
--SELECT * FROM seg_pieces --SELECT * FROM seg_pieces