populate something even if there is no record

This commit is contained in:
Paul Trowbridge 2025-08-11 12:00:08 -04:00
parent d46e71a170
commit 82db9a4334

View File

@ -444,13 +444,17 @@ BEGIN
'History' AS label,
(
SELECT
----------------------label------------------------------------------------
CASE
WHEN q.last_price IS NOT NULL
THEN 'Last Sale: ' + ISNULL(CONVERT(varchar(10), q.last_date, 120), '')
ELSE 'No Recent'
END AS label,
----------------------value------------------------------------------------
ISNULL(q.last_price, 0) AS value,
----------------------type-------------------------------------------------
'currency' AS type,
----------------------note-------------------------------------------------
CASE
WHEN q.last_price IS NOT NULL THEN
CONCAT(
@ -466,7 +470,8 @@ BEGIN
ELSE ' Ord# ' + ISNULL(q.last_order, '')
END
)
ELSE NULL
ELSE
''
END AS note
FOR JSON PATH -- array with one object (no WITHOUT_ARRAY_WRAPPER)
) AS details
@ -478,10 +483,10 @@ BEGIN
'List' AS label,
(
SELECT
'List:' + q.listcode AS label,
q.listprice AS value,
COALESCE('List:' + q.listcode,'No List') AS label,
COALESCE(q.listprice,0) AS value,
'currency' AS type,
q.list_relevance AS note
COALESCE(q.list_relevance,'') AS note
FOR JSON PATH
)
@ -492,12 +497,23 @@ BEGIN
'Target Support' AS label,
(
SELECT
RTRIM(SUBSTRING(value,1,18)) AS label,
TRY_CAST(SUBSTRING(value,23,7) AS NUMERIC(20,5))
+ CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END AS value,
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'currency' ELSE 'Percent' END AS type,
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'Price' ELSE 'Premium' END AS note
FROM OPENJSON(q.expl, '$.target_math')
----------------------label------------------------------------------------
CASE WHEN value <> '' THEN RTRIM(SUBSTRING(value,1,18)) ELSE 'No Target' END AS label,
----------------------value------------------------------------------------
CASE WHEN value <> '' THEN
TRY_CAST(SUBSTRING(value,23,7) AS NUMERIC(20,5))
+ CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
ELSE 0 END AS value,
----------------------type-------------------------------------------------
CASE WHEN value <> '' THEN
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'currency' ELSE 'Percent' END
ELSE '' END AS type,
----------------------note-------------------------------------------------
CASE WHEN value <> '' THEN
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'Price' ELSE 'Premium' END
ELSE '' END AS note
FROM @queue q
OUTER APPLY OPENJSON(q.expl, '$.target_math')
WITH (value NVARCHAR(MAX) '$')
FOR JSON PATH
) AS details
@ -510,7 +526,7 @@ BEGIN
(
SELECT
'Price' AS label,
q.guidance_price AS value,
COALESCE(q.guidance_price,0) AS value,
'currency' AS type,
q.guidance_reason AS note
FOR JSON PATH