7

テーブルに nvarchar(1000) フィールドがあり、その列に JSON データを格納しています。

例:

 CONTENT_RULE_ID    CONTENT_RULE
 1                  {"EntityType":"Inquiry", "Values":[1,2]}
 2                  {"EntityType":"Inquiry", "Values":[1,3]}
 3                  {"EntityType":"Inquiry", "Values":[2,4]}
 4                  {"EntityType":"Inquiry", "Values":[5,6,1]}
 6                  {"EntityType":"Inquiry", "Values":[8,1]}
 8                  {"EntityType":"Inquiry", "Values":[10,12,11]}

これから、SQLサーバーでJSON_QUERYを使用して、照会ID 1を持つすべてのCONTENT_RULE_IDを取得するにはどうすればよいですか

4

4 に答える 4

4
SELECT c.*
FROM CONTENT_RULES AS c
CROSS APPLY OPENJSON(JSON_QUERY(content_rule, '$')) AS x 
CROSS APPLY OPENJSON(x.[Value], '$') AS y
where x.[key]='Values' and y.[value]=1
于 2018-01-12T11:24:02.787 に答える