# SUM für Strings



## The_S (28. Dez 2007)

Hi,

hab ich irgendwie in SQL (DB/2) die Möglichkeit mehrere Textspalten zusammenzufassen? Also so ähnlich wie SUM, nur für Text. Ich habe z. B. folgende Tabelle



> ID, FID, TEXT
> 0, 1, asdf
> 1, 1, jklö
> 2, 1, uiui
> 3, 2, mop



Und da hätte ich gerne einen Select, der mir die Text-Spalte nach FID zusammenfasst. Raus kommen soll das hier:

FID: 1
TEXT: asdf;jklö;uiui
FID: 2
TEXT: mop

weiß jemand ob das geht und wenn ja wie? Ansonsten müsste ich die Zeilen javaseitig zusammenfassen, ansich auch kein Problem, fänd ich aber nicht so schön.

Danke!

[edit] Also sowas wie GROUP_CONCAT in MySQL


----------



## FenchelT (29. Dez 2007)

Hallo Hobbit,

hmm, leider kenne ich mich mit der spezielen DB/2 Syntax nicht aus.

Wenn es aber immer zu einer fid eine bestimmte Anzahl an Eintraegen gibt (z.B. immer 2) dann koenntest Du einen SelfJoin benutzen um dies zu realisieren.

Beispiel:

SELECT a.fid, a.text concat b.text // oder wie die Konkatinierungsfkt bei DB/2 heisst
FROM tabelle as A
LEFT JOIN tabelle as B ON a.fid = b.fid AND a.id <> b.id

Sobald Du aber nicht weißt um wie viele Eintraege es handelt funktioniert dies nicht mehr.
Evtl gibt es aber bei DB/2 auch die Moeglichkeit, mittels spezieller DB/2-SQL-Syntax im SELECT Rekursionen abzubilden
(vergleichbar mit MSSQL Common_Table_Expressions(CTEs)) dann koennte dies evtl auch funktionieren.

Mir ist keine allgemeine Syntax bekannt, die Dir dies ermoeglicht  :roll: 

Ich befuerchte, Du musst es in Java realisieren. Wenn mir nochwas einfaellt, lass ich es Dich wissen.


----------



## The_S (2. Jan 2008)

Leider können einer id N Datensätze zugewiesen werden. Von daher fällt die Lösung flach. Hab mich jetzt damit abgefunden es Javaseitig zu lösen. Trotzdem danke  .


----------

