Kerki
25-01-21, 12:43
Hallo liebe Community,
ich will folgende JSON mit SQL auslesen.
{ "indexFields": [
{
"fieldName": "ID",
"fieldLabel": "ID",
"item": 119
},
{
"fieldName": "USER",
"fieldLabel": "Abgelegt von",
"item": "ADMIN"
},
{
"fieldName": "DATE",
"fieldLabel": "Datum",
"item": "2020-11-17T00:00:00"
},
{
"fieldName": "POSITIONEN",
"fieldLabel": "Positionen",
"item": {
"Row": [
{
"ColumnValue": [
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELNUMMER",
"FieldLabel": "Artikelnummer",
"IsNull": false,
"ReadOnly": false,
"Item": "12345",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELBEZEICHNUNG",
"FieldLabel": "Artikelbezeichnung",
"IsNull": false,
"ReadOnly": false,
"Item": "Produkt Fridolin",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_EAN1",
"FieldLabel": "EAN",
"IsNull": false,
"ReadOnly": false,
"Item": 1234567891246,
"ItemElementName": 2
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_MENGE",
"FieldLabel": "Menge",
"IsNull": false,
"ReadOnly": false,
"Item": 5,
"ItemElementName": 2
}
]
},
{
"ColumnValue": [
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELNUMMER",
"FieldLabel": "Artikelnummer",
"IsNull": false,
"ReadOnly": false,
"Item": "65478",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELBEZEICHNUNG",
"FieldLabel": "Artikelbezeichnung",
"IsNull": false,
"ReadOnly": false,
"Item": "Produkt Hugo",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_EAN1",
"FieldLabel": "EAN",
"IsNull": false,
"ReadOnly": false,
"Item": 1234567991249,
"ItemElementName": 2
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_MENGE",
"FieldLabel": "Menge",
"IsNull": false,
"ReadOnly": false,
"Item": 14,
"ItemElementName": 2
}
]
}
]
}
},
{
"fieldName": "DISK",
"fieldLabel": "Disk Number",
"item": 1
},
{
"fieldName": "DISKNO",
"fieldLabel": "Disk Number",
"item": 1
}
]
}
Wie greife ich auf die Liste von "Row.ColumnValue" zu?
Ich kann mit folgendem Select auf die Liste "indexFields" zugreifen aber nicht die darin liegenden.
select * from JSON_TABLE(:json,'$.indexFields
'
COLUMNS (fieldName VARCHAR(100) PATH '$.fieldName',
fieldLabel VARCHAR(100) PATH '$.fieldLabel',
item VARCHAR(100) PATH '$.item'
)) AS X;
Ich danke euch im voraus und liebe Grüße
Kerki
ich will folgende JSON mit SQL auslesen.
{ "indexFields": [
{
"fieldName": "ID",
"fieldLabel": "ID",
"item": 119
},
{
"fieldName": "USER",
"fieldLabel": "Abgelegt von",
"item": "ADMIN"
},
{
"fieldName": "DATE",
"fieldLabel": "Datum",
"item": "2020-11-17T00:00:00"
},
{
"fieldName": "POSITIONEN",
"fieldLabel": "Positionen",
"item": {
"Row": [
{
"ColumnValue": [
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELNUMMER",
"FieldLabel": "Artikelnummer",
"IsNull": false,
"ReadOnly": false,
"Item": "12345",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELBEZEICHNUNG",
"FieldLabel": "Artikelbezeichnung",
"IsNull": false,
"ReadOnly": false,
"Item": "Produkt Fridolin",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_EAN1",
"FieldLabel": "EAN",
"IsNull": false,
"ReadOnly": false,
"Item": 1234567891246,
"ItemElementName": 2
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_MENGE",
"FieldLabel": "Menge",
"IsNull": false,
"ReadOnly": false,
"Item": 5,
"ItemElementName": 2
}
]
},
{
"ColumnValue": [
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELNUMMER",
"FieldLabel": "Artikelnummer",
"IsNull": false,
"ReadOnly": false,
"Item": "65478",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_ARTIKELBEZEICHNUNG",
"FieldLabel": "Artikelbezeichnung",
"IsNull": false,
"ReadOnly": false,
"Item": "Produkt Hugo",
"ItemElementName": 6
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_EAN1",
"FieldLabel": "EAN",
"IsNull": false,
"ReadOnly": false,
"Item": 1234567991249,
"ItemElementName": 2
},
{
"PointAndShootInfo": null,
"FieldName": "POSIT_MENGE",
"FieldLabel": "Menge",
"IsNull": false,
"ReadOnly": false,
"Item": 14,
"ItemElementName": 2
}
]
}
]
}
},
{
"fieldName": "DISK",
"fieldLabel": "Disk Number",
"item": 1
},
{
"fieldName": "DISKNO",
"fieldLabel": "Disk Number",
"item": 1
}
]
}
Wie greife ich auf die Liste von "Row.ColumnValue" zu?
Ich kann mit folgendem Select auf die Liste "indexFields" zugreifen aber nicht die darin liegenden.
select * from JSON_TABLE(:json,'$.indexFields
'
COLUMNS (fieldName VARCHAR(100) PATH '$.fieldName',
fieldLabel VARCHAR(100) PATH '$.fieldLabel',
item VARCHAR(100) PATH '$.item'
)) AS X;
Ich danke euch im voraus und liebe Grüße
Kerki