この例では、通常列を使用したJSON_Tableを示します。
例では、以前に作成したテーブルを使用します。
SELECT * FROM JSON_Table
(ON (SELECT id, jsonCol FROM my_table WHERE id=1)
USING rowexpr('$.schools[*]')
colexpr('[ {"jsonpath" : "$.name",
"type" : "CHAR(20)"},
{"jsonpath" : "$.type",
"type" : "VARCHAR(20)"}]')
) AS JT(id, schoolName, "type");
結果:
id schoolName type ------------------------------ 1 Lake elementary 1 Madison middle 1 Rancho high 1 UCI college
この例では、fromRoot属性を使用するJSON_Tableを示します。
例では、以前に作成したテーブルを使用します。
SELECT * FROM JSON_Table
( ON (SELECT id, jsonCol FROM my_table WHERE id=1)
USING rowexpr('$.schools[*]')
colexpr('[ {"jsonpath" : "$.name",
"type" : "CHAR(20)"},
{"jsonpath" : "$.type",
"type" : "VARCHAR(20)"},
{"jsonpath" : "$.name",
"type" : "VARCHAR(20)",
"fromRoot":true} ]')
) AS JT(id, schoolName, "type", studentName);
結果:
id schoolName type studentName -------------------------------------------------- 1 Lake elementary Cameron 1 Madison middle Cameron 1 Rancho high Cameron 1 UCI college Cameron