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 tab( jsdata JSON );
CREATE TABLE business( title VARCHAR(100), address VARCHAR(100), website VARCHAR(100), page VARCHAR(100) );
CREATE TABLE business_phones( business_title VARCHAR(100), phone_number VARCHAR(100), phone_name VARCHAR(100) );

INSERT INTO tab VALUES('[
{
"title": "CONSERVE IT LTD",
"address": "12 Truman Ave (10) ",
"phones": [
{
"name": "telephone_1",
"number": "876-754-0220"
},
{
"name": "telephone_2",
"number": "876-754-0221"
}
],
"website": "www.conserveitja.com",
"page": 1
},
{
"title": "Consie Walters Cancer Hospital",
"address": "22 Deanery Rd (3) ",
"phones": [
{
"name": "telephone_1",
"number": "876-930-5016"
}
],
"page": 1
}]');

INSERT INTO business(title, address, website, page)
SELECT t.*
FROM tab
CROSS JOIN
JSON_TABLE(jsdata, '$[*]' COLUMNS (
title VARCHAR(100) PATH '$.title',
address VARCHAR(100) PATH '$.address',
website VARCHAR(100) PATH '$.website',
page VARCHAR(100) PATH '$.page')
) t
Records: 2  Duplicates: 0  Warnings: 0
INSERT INTO business_phones(business_title, phone_number, phone_name)
SELECT t.*
FROM tab
CROSS JOIN
JSON_TABLE(jsdata, '$[*]' COLUMNS (
business_title VARCHAR(100) PATH '$.title',
NESTED PATH '$.phones[*]' COLUMNS (
phone_number VARCHAR(100) PATH '$.number',
phone_name VARCHAR(100) PATH '$.name')
)
) t

Records: 3  Duplicates: 0  Warnings: 0
SELECT * FROM business;

title address website page
CONSERVE IT LTD 12 Truman Ave (10) www.conserveitja.com 1
Consie Walters Cancer Hospital 22 Deanery Rd (3) null 1
SELECT * FROM business_phones;

business_title phone_number phone_name
CONSERVE IT LTD 876-754-0220 telephone_1
CONSERVE IT LTD 876-754-0221 telephone_2
Consie Walters Cancer Hospital 876-930-5016 telephone_1