Was ist wenn es mehrere Adressen gibt?
Wie soll er sich dann verhalten?
Aber wenn es nur eine Adresse gibt, könntest du es auch ggf. so lösen:
Code:
SELECT *
FROM JSON_TABLE(
(Select line from table(qsys2.ifs_read_utf8('/test/so3.json')) fetch first row only),
'$'
COLUMNS (
VOUCHERTYPE VARCHAR(10) PATH'$.vouchertype',
VOUCHERNO VARCHAR(20) PATH'$.voucherno',
WAREHOUSENO VARCHAR(10) PATH'$.warehouseno',
SUPPLIERNO VARCHAR(15) PATH'$.supplier.supplierno',
NAME1 VARCHAR(50) PATH'$.supplier.name1',
EMAIL VARCHAR(50) PATH'$.supplier.email',
PHONE VARCHAR(30) PATH'$.supplier.phone',
NESTED '$.supplier.address[*]'
COLUMNS (
STREET VARCHAR(50) PATH'$.street',
ZIPCODE VARCHAR(10) PATH'$.zipcode',
CITY VARCHAR(50) PATH'$.city',
ADDRESSTYPE VARCHAR(10) PATH'$.addresstype',
COUNTRYCODETYPE VARCHAR(10) PATH'$.countrycodetype',
COUNTRYCODE VARCHAR(5) PATH'$.countrycode'
),
NESTED '$.lineitems[*]'
COLUMNS (
SKU VARCHAR(50) PATH'$.sku',
LINEITEMNO VARCHAR(10) PATH'$.lineitemno',
ARTICLENAME VARCHAR(100) PATH'$.articlename',
ORDEREDQUANTITY DECIMAL(10,2) PATH'$.orderedquantity',
NESTED '$.productcodes[*]'
COLUMNS (
PRODUCTCODETYPE VARCHAR(10) PATH'$.type',
PRODUCTCODE VARCHAR(50) PATH'$.value'
)
)
)
);
Bookmarks