Es gibt 3 Möglichkeiten:
1. Rekursive CTE
2. Hierachische Query Anweisung
3. Handgestrickte UDF
@1: RCTE
@2: Hierarchische Query Anweisung (PTF TR3 7.1)Code:with x as (SELECT ROW_NUMBER() over(partition by Key ORDER BY rrn(a)) Seq, a.* FROM mytable a), Rec (Key, Value, Seq) as ( select Key, x.Value, seq from x where Seq = 1 union all select x.Key, x.Value concat ' ' concat Rec.Value, Rec.Seq + 1 from x join Rec on x.Key = Rec.Key and x.Seq = Rec.seq + 1), y as (select Key, Max(Seq) Seq from Rec group by Key) select rec.Key, Value from rec join y Using (Key, Seq )
@3: UTFCode:With x as (Select Row_Number() over(Order By Key, rrn(a)) seq, a.* from mytable a), y as (Select Key, sys_connect_by_path(Trim(Value), ' ') Text from x Start With Key = 1 and seq = 1 connect by Prior Seq = Seq - 1) Select Key, Max(Text) Text From y Group By Key;
Habe ich gerade keine, aber der Key wird als Parameter übergeben und dann wird die Datei über Cursor für den Schlüssel-Wert verarbeitet und mit jedem Satz der aktuelle Wert zu dem Ausgabe-Feld hinzugefügt.
Birgitta
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks