convert history to array

This commit is contained in:
Paul Trowbridge 2025-07-28 21:51:39 -04:00
parent 9e98c6f24b
commit 041b0591ba

View File

@ -86,29 +86,29 @@ BEGIN
UPDATE q UPDATE q
SET SET
q.hist = ( q.hist = (
SELECT TOP 1 SELECT
j.qty, j.qty,
j.price, j.price,
j.odate, j.odate,
j.ordnum, j.ordnum,
j.quoten j.quoten
FROM pricing.lastprice lp FROM pricing.lastprice lp
OUTER APPLY OPENJSON(lp.part_stats) AS p OUTER APPLY OPENJSON(lp.part_stats) AS p
OUTER APPLY OPENJSON(p.value) OUTER APPLY OPENJSON(p.value)
WITH ( WITH (
qty NUMERIC(20,5), qty NUMERIC(20,5),
price NUMERIC(20,5), price NUMERIC(20,5),
odate DATE, odate DATE,
ordnum INT, ordnum INT,
quoten INT quoten INT
) AS j ) AS j
WHERE WHERE
lp.customer = q.cust lp.customer = q.cust
AND lp.mold = SUBSTRING(q.part,1,8) AND lp.mold = SUBSTRING(q.part,1,8)
AND p.[key] COLLATE SQL_Latin1_General_CP1_CI_AS = q.part AND p.[key] COLLATE SQL_Latin1_General_CP1_CI_AS = q.part
ORDER BY j.odate DESC ORDER BY j.odate DESC
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER FOR JSON PATH -- <<< this returns a JSON array of objects
), ),
q.last = ( q.last = (
SELECT TOP 1 SELECT TOP 1
CAST(ROUND(j.price, 5) AS NVARCHAR(50)) -- must be string to store in NVARCHAR column CAST(ROUND(j.price, 5) AS NVARCHAR(50)) -- must be string to store in NVARCHAR column