Skip to content
Advertisement

How to include OPENJSON in View?

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 (...)

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
7 People found this is helpful
Advertisement