I wanted to create a table using PIVOT
operator in SQL Server by extracting data from a JSON object using JSON_QUERY()
. But when I use JSON_QUERY()
inside IN operator, syntax error is thrown.
DECLARE @DataJson NVARCHAR(MAX) = '{"widgets":{"key1":{"value":[{"text":"TEXT"}]},"key2":{"value":[{"text":"TEXT"}]}}}'
SELECT * FROM OPENJSON(WIT.[DataJsonWidgets]) AS WC
PIVOT
(
MAX(WC.[value]) FOR WC.[key] IN
(
JSON_QUERY(@DataJson,'$.widgets.key1') AS key1,
JSON_QUERY(@DataJson,'$.widgets.key2') AS key2
)
) AS PivotTable