Вы можете попробовать следующее утверждение. Вам необходимо добавить столбец data
в явную схему с помощью AS JSON
и использовать дополнительные CROSS APPLY
.
JSON:
DECLARE @json nvarchar(max) =
N'{
"series": [
{
"series_id": "PET.MCRFPUS2.M",
"name": "U.S. Field Production of Crude Oil, Monthly",
"units": "Thousand Barrels per Day",
"f": "M",
"unitsshort": "Mbbl/d",
"description": "U.S. Field Production of Crude Oil",
"copyright": "None",
"source": "EIA, U.S. Energy Information Administration",
"iso3166": "USA",
"geography": "USA",
"start": "192001",
"end": "201901",
"updated": "2019-03-29T12:45:52-0400",
"data": [
[
"201901",
11871
],
[
"201812",
11961
],
[
"201811",
11926
],
[
"201810",
11559
],
[
"201809",
11470
]
]
}
]
}'
Оператор SELECT:
SELECT
j1.Series_id,
j1.Name,
j1.Units,
j1.Frequency,
j1.Description,
j1.Source,
j1.Country,
j2.*
FROM OPENJSON(@json, '$.series') WITH (
Series_id VARCHAR(255) '$.series_id',
Name VARCHAR(255) '$.name',
Units VARCHAR(255) '$.units',
Frequency VARCHAR(255) '$.f',
Description VARCHAR(255)'$.description',
Source VARCHAR(255) '$.source',
Country VARCHAR(255) '$.geography',
data NVARCHAR(max) '$.data' AS JSON
) j1
CROSS APPLY OPENJSON(j1.data) WITH (
Date INT '$[0]',
count INT '$[1]'
) j2
Выход:
Series_id Name Units Frequency Description Source Country Date count
PET.MCRFPUS2.M U.S. Field Production of Crude Oil, Monthly Thousand Barrels per Day M U.S. Field Production of Crude Oil EIA, U.S. Energy Information Administration USA 201901 11871
PET.MCRFPUS2.M U.S. Field Production of Crude Oil, Monthly Thousand Barrels per Day M U.S. Field Production of Crude Oil EIA, U.S. Energy Information Administration USA 201812 11961
PET.MCRFPUS2.M U.S. Field Production of Crude Oil, Monthly Thousand Barrels per Day M U.S. Field Production of Crude Oil EIA, U.S. Energy Information Administration USA 201811 11926
PET.MCRFPUS2.M U.S. Field Production of Crude Oil, Monthly Thousand Barrels per Day M U.S. Field Production of Crude Oil EIA, U.S. Energy Information Administration USA 201810 11559
PET.MCRFPUS2.M U.S. Field Production of Crude Oil, Monthly Thousand Barrels per Day M U.S. Field Production of Crude Oil EIA, U.S. Energy Information Administration USA 201809 11470