在 Db2 中使用 SQL 创建嵌套的 JSON

Create a nested JSON with SQL in Db2

我实际上从 table

中提取了一个 JSON
select  json_object ('ITEM_ID' value Trim(PRDC), 
                     'ITEM_DESC' value TRIM(DESC),
                                       ) JSONData
from my_file

我得到了这个:

[{"ITEM_ID":"PRODUCT_01","ITEM_ITDESC":"DESC_01"},
 {"ITEM_ID":"PRODUCT_02","ITEM_ITDESC":"DESC_02"},
...
]

现在我需要这样的提取...

[{"ITEM_ID":"PRODUCT_01","ITEM_ITDESC":"DESC_01", "ITEM_TIERPRICE": [
  {"QTY": 5, "PRICE": 7.0000},
  {"QTY": 10, "PRICE": 6.0000}
]},
{"ITEM_ID":"PRODUCT_02","ITEM_ITDESC":"DESC_02", "ITEM_TIERPRICE": [
  {"QTY": 5, "PRICE": 6.0000},
  {"QTY": 10, "PRICE": 5.0000}
]}
...
]

但是不知道怎么获得。 ITEM_TIERPRICE 就像

SELECT QTY, PRICE FROM PRICE_TABLE WHERE ITEM = MY_ITEM

所以你想要一个包含 JSON 个对象数组的 JSON 对象..

你看过documentation中的例子了吗?

特别是这个

select 
  json_object(
      'department number' value deptno
      , 'department name' value deptname
      , 'employee list' 
         value json_arrayagg(
                 json_object(
                     'last name' value lastname
                     , 'employee id' value empno
                 )
               order by lastname
          )
       )
  from dept
       left outer join emp
         on deptno = workdept
  where deptno like 'D%'
  group by deptno
           ,deptname;

注意使用 JSON_OBJECT(JSON_ARRAY(JSON_OBJECT()))