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)
x
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 ( )
Advertisement
Answer
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