add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE myjson( doc VARCHAR2(4000) check (doc is JSON) );

INSERT INTO myjson VALUES('{
"totalResultsCount": 19,
"geonames": [
{
"geonameId": 2593109,
"fcode": "ADM1"
},
{
"geonameId": 3336899,
"fcode": "ADM1"
}]
}
');

1 rows affected
SELECT ROW_NUMBER() OVER (ORDER BY 1) AS row_id, js.product
FROM myjson
CROSS JOIN
JSON_TABLE(
doc, '$.geonames[*]' COLUMNS (
product VARCHAR(100) PATH '$.geonameId',
fcode VARCHAR(100) PATH '$.fcode'
)
) js
WHERE js.fcode = 'ADM1'
ROW_ID PRODUCT
1 2593109
2 3336899