[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Am einfachsten ist, Du generierst die Daten-Objekte für Grp3 und Grp4 in Common Table Expressions und bindest dann die fertigen Objekte in das JSON-Dokument ein.
    Etwa so:
    Code:
    With CTEData1 as (Select Id, 
                             JSON_ArrayAgg( JSON_Object('Id': Trim(Data1))) Data1
                         from json_grp3
                         Group By Id),
         CTEData2 as (Select Id, 
                             JSON_ArrayAgg( JSON_Object('Id': Trim(Data2))) Data2
                         from json_grp4
                         group by Id)
    Select Json_Object('info':  JSON_Object('id': a.Id, 'Name': Name),
                       'Goup2': JSON_Object('Email': Mail),
                       'Data':  JSON_Object('Data1': Data1 Format JSON,
                                            'Data2': Data2 Format JSON))
      from json_grp1 a join json_grp2 b on a.id = b.id
                       Left Join CTEData1 c on a.id = c.id
                       Left Join CTEData2 d on a.id = d.id;
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.253
    Schon mal ausprobiert? Der doppelte Left-Join macht da keinen Unterschied zu vorher. Der CTE hat da keinen Vorteil.
    Solange du das 2x 1:N-Problem nicht weg bekommst hast du eine Vervielfältigung.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Hast Du das schon mal ausprobiert?
    Vermutlich nicht!
    Meine Lösung bringt genau das zurück was angefordert war.
    Weil die Daten bereits in den CTEs auf die ID verdichtet werden, gibt es keine Duplikate.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Dec 2013
    Beiträge
    17
    Schon mal ausprobiert?
    Gerade eben, und es scheint, dass beide Varianten funktionieren.
    Vielen Dank an Brigitta und an Andreas!

Similar Threads

  1. per SQL oder RPG doppelte Texte ermitteln
    By mgraskamp in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 04-02-20, 12:03
  2. AS400 doppelte Datensätze
    By pabloesco in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 11-10-19, 20:04
  3. SQL-Fehler: Doppelte Tabellenkennzeichnung
    By mott in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 26-11-13, 14:26
  4. doppelte Sätze finden = > SQL
    By heynem in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 05-12-02, 08:59
  5. doppelte Sätze in PF finden und löschen
    By Schnichels in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 23-11-01, 12:54

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •