You need an OPENJSON()
call with the appropriate path
to access the nested $.source_info.help_info.details
JSON array and an additional APPLY
operator:
Sample data:
SELECT *
INTO Data
FROM (VALUES
(1, 45745, '{"source":"XYZ",
"source_info":{
"type":"need_help",
"help_info":{
"questions":50,
"details":[{"floatv":0.42,"name":"Tom"},{"floatv":1.08,"name":"Dick"},{"floatv":1.2,"name":"Harry"}]}}}')
) v (UID, ID, JSON)
Statement:
SELECT d.ID, j.NAME
FROM Data d
CROSS APPLY OPENJSON(d.JSON, '$.source_info.help_info.details') WITH (
NAME varchar(100) '$.name'
) j
Result:
ID | NAME |
---|---|
45745 | Tom |
45745 | Dick |
45745 | Harry |