Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-02-2024 12:45 AM
Hi @binsel ,
You need to use variant_explode function.
Here is the working code:
WITH first_explode AS (
SELECT
uv.rowData:Id AS Id,
uv.rowData:Result:BodyType AS BodyType,
uv.rowData:Result:ProdType AS ProdType,
v.value AS result_set
FROM unpivot_valtype AS uv,
LATERAL variant_explode(uv.rowData:Result:ResultSets) AS v
),
second_explode AS (
SELECT
fe.Id,
fe.BodyType,
fe.ProdType,
vv.key AS R,
vv.value AS r_value
FROM first_explode fe,
LATERAL variant_explode(fe.result_set) AS vv
)
SELECT
Id,
BodyType,
ProdType,
R,
r_value:AInt AS AInt,
r_value:CRates:RateA AS RateA,
r_value:CRates:RateB AS RateB,
r_value:CRates:RateC AS RateC,
r_value:EffPrice AS EffPrice,
r_value:EffRate AS EffRate
FROM
second_explode;The result: