Sql 将一个json放在Oracle 19上的另一个json中

Sql 将一个json放在Oracle 19上的另一个json中,sql,json,oracle-apex,oracle19c,oracle18c,Sql,Json,Oracle Apex,Oracle19c,Oracle18c,我有下一个问题。我需要从一个表中创建一个json,该表在其中一列中包含另一个json 具有以下特征: CREATE TABLE BRUNOVS.TABLA_JSON_1 ( COL CLOB COLLATE USING_NLS_COMP, ID NUMBER, NAME VARCHAR2(50 BYTE) COLLATE USING_NLS_COMP, AGE NUMBER ) insert into tabla_json_1 (col, I

我有下一个问题。我需要从一个表中创建一个json,该表在其中一列中包含另一个json 具有以下特征:

CREATE TABLE BRUNOVS.TABLA_JSON_1 
   (    COL CLOB COLLATE USING_NLS_COMP, 
    ID NUMBER, 
    NAME VARCHAR2(50 BYTE) COLLATE USING_NLS_COMP, 
    AGE NUMBER
   )


insert into tabla_json_1 (col, ID, NAME, AGE) values (
'{"totalResults":1,"limit":100,"offset":0,"items":[{"customerId":"24929","schedule":{"2021-03-24":{"freeTime":[["09:00","09:30"],["11:00","18:00"]],"arrivalTime":[{"min":"09:30","max":"10:30"},{"min":"11:30","max":"16:30"}]}}}]}',
4, 'Clara', 40
);
commit;
我尝试使用以下查询:

SELECT JSON_OBJECT (
    'id' VALUE to_char(a.id),
    'name' VALUE to_char(a.name),
    'age' value to_char(a.age),
    'original' value to_char(col)
    )
FROM tabla_json_1 a
where a.id = 4;
但结果并不正确:

{"id":"4","name":"Clara","age":"40","original":"{\"totalResults\":1,\"limit\":100,\"offset\":0,\"items\":[{\"customerId\":\"24929\",\"schedule\":{\"2021-03-24\":{\"freeTime\":[[\"09:00\",\"09:30\"],[\"11:00\",\"18:00\"]],\"arrivalTime\":[{\"min\":\"09:30\",\"max\":\"10:30\"},{\"min\":\"11:30\",\"max\":\"16:30\"}]}}}]}"}
必须是这样的:

{"id":"4","name":"Clara","age":"40","original":{"totalResults":1,"limit":100,"offset":0,"items":[{"customerId":"24929","schedule":{"2021-03-24":{"freeTime":[["09: 00","09: 30"],["11: 00","18: 00"]],"arrivalTime":[{"min":"09: 30","max":"10: 30"},{"min":"11: 30","max":"16: 30"}]}}}]}}
有没有办法得到正确的结果


关于。

请参见示例和结果。 我知道如何做到这一点:

SELECT JSON_OBJECT (
    'id' VALUE to_char(a.id),
    'name' VALUE to_char(a.name),
    'age' value to_char(a.age),
    'original' value treat ( col as json ) -- this is the key
    )
FROM tabla_json_1 a
where a.id = :agendamiento_id;
谢谢大家

致意