My JSON object is stored in the table (single cell). Right now, I’m reading the cell and saving the value to @json NVARCHAR(MAX)
SELECT * FROM OPENJSON ( @json ) WITH (...)
, but that obviously doesn’t work in views. How can I do something like this?
SELECT * FROM OPENJSON ( select top 1 json_object from json_raw ) WITH (...)
You can use
cross apply to apply
openjson() to each and every row of your table:
create view jsonview as select x.* from json_raw j cross apply openjson(j.json_object) with (...) as x