Skip to content

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
User contributions licensed under: CC BY-SA
7 People found this is helpful