Hallo,
Wenn du das alles in 1 Select haben willst ist das SQL etwas komplexer.
Du musst die Data-Elemente als Subselect ausführen.
Da das ganze auch nicht so einfach ist musst du mit JSON_TO_BSON und umgekehrt die JSON Blöcke zusammen mergen, da SQL diese sonst Escapen und als ganzen Text Block betrachten würde.
Lange Rede, kurzer Sinn, hier wäre das SQL:
lg AndreasCode:SELECT CHAR(JSON_OBJECT( 'Info' : JSON_OBJECT( 'Id' : JSON_GRP1.ID , 'Name' : JSON_GRP1.NAME ) , 'Group2' : JSON_OBJECT( 'Email' : JSON_GRP2.MAIL ) , 'Data' : json_array( bson_to_json((SELECT json_to_bson (JSON_OBJECT('Data1' : json_arrayagg ( json_object ( 'Id' : JSON_GRP3.DATA1 null on null)))) FROM JSON_GRP3 where JSON_GRP1.ID = JSON_GRP3.ID)) , bson_to_json((SELECT json_to_bson (JSON_OBJECT('Data2' : json_arrayagg ( json_object ( 'Id' : JSON_GRP4.DATA2 null on null)))) FROM JSON_GRP4 where JSON_GRP1.ID = JSON_GRP4.ID))) ), 1000) FROM JSON_GRP1 JOIN JSON_GRP2 ON JSON_GRP1.ID = JSON_GRP2.ID LEFT JOIN JSON_GRP4 ON JSON_GRP1.ID = JSON_GRP4.ID GROUP BY JSON_GRP1.ID, JSON_GRP1.NAME, JSON_GRP2.MAIL
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten

Bookmarks