From 041b0591ba4e466e518ebd5d61bd0a8a85796df5 Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Mon, 28 Jul 2025 21:51:39 -0400 Subject: [PATCH] convert history to array --- new_targets/procs/single_price_call.ms.sql | 46 +++++++++++----------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/new_targets/procs/single_price_call.ms.sql b/new_targets/procs/single_price_call.ms.sql index 04a2c2f..1ab1719 100644 --- a/new_targets/procs/single_price_call.ms.sql +++ b/new_targets/procs/single_price_call.ms.sql @@ -86,29 +86,29 @@ BEGIN UPDATE q SET q.hist = ( - SELECT TOP 1 - j.qty, - j.price, - j.odate, - j.ordnum, - j.quoten - FROM pricing.lastprice lp - OUTER APPLY OPENJSON(lp.part_stats) AS p - OUTER APPLY OPENJSON(p.value) - WITH ( - qty NUMERIC(20,5), - price NUMERIC(20,5), - odate DATE, - ordnum INT, - quoten INT - ) AS j - WHERE - lp.customer = q.cust - AND lp.mold = SUBSTRING(q.part,1,8) - AND p.[key] COLLATE SQL_Latin1_General_CP1_CI_AS = q.part - ORDER BY j.odate DESC - FOR JSON PATH, WITHOUT_ARRAY_WRAPPER - ), + SELECT + j.qty, + j.price, + j.odate, + j.ordnum, + j.quoten + FROM pricing.lastprice lp + OUTER APPLY OPENJSON(lp.part_stats) AS p + OUTER APPLY OPENJSON(p.value) + WITH ( + qty NUMERIC(20,5), + price NUMERIC(20,5), + odate DATE, + ordnum INT, + quoten INT + ) AS j + WHERE + lp.customer = q.cust + AND lp.mold = SUBSTRING(q.part,1,8) + AND p.[key] COLLATE SQL_Latin1_General_CP1_CI_AS = q.part + ORDER BY j.odate DESC + FOR JSON PATH -- <<< this returns a JSON array of objects + ), q.last = ( SELECT TOP 1 CAST(ROUND(j.price, 5) AS NVARCHAR(50)) -- must be string to store in NVARCHAR column