SELECT
JSON_PRETTY(
JSON_OBJECT(
'productName', COALESCE(d.pretty_name, NULL),
'sku', c.child_sku,
'variant', c.config_name,
'compatibleBoards', (
SELECT JSON_ARRAYAGG(CONCAT(bt.code, '-', bv.version_code) ORDER BY bt.code, bv.version_code)
FROM sku_compatible_boards scb
JOIN board_types bt ON bt.id = scb.board_type_id
JOIN board_versions bv ON bv.id = scb.board_version_id
WHERE scb.sku_config_id = c.id
),
'heatingWattage', JSON_OBJECT(
'circuit1', MAX(CASE WHEN cc.circuit_no = 1 THEN cc.rated_watts END),
'circuit2', MAX(CASE WHEN cc.circuit_no = 2 THEN cc.rated_watts END),
'circuit3', MAX(CASE WHEN cc.circuit_no = 3 THEN cc.rated_watts END)
)
)
) AS sku_json
FROM child_sku_config c
LEFT JOIN child_sku_circuits cc ON cc.sku_config_id = c.id
LEFT JOIN sku_display_names d ON d.child_sku = c.child_sku
WHERE c.child_sku = 'IR-HALO-9600-D-L'
GROUP BY c.id, c.child_sku, c.config_name, d.pretty_name
ORDER BY c.effective_from DESC;