Wie bekomme ich eine Liste von Werten in der GROUP_BY-Klausel?
Wenn ich die Daten wie folgt in eine Tabelle
id data
-- ----
1 1
1 2
1 3
2 4
2 5
3 6
3 4
Wie erhalte ich Ergebnisse wie dieses in einer Abfrage (auf sybase-server)?
id data
-- ----
1 1, 2, 3
2 4, 5
3 6, 4
InformationsquelleAutor der Frage Jagmal | 2009-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, dass es in MySQL gibt es GROUP_CONCAT und in Sybase ich denke, es ist LISTE wie bereits in einer anderen Antwort:
InformationsquelleAutor der Antwort lpfavreau
MsSQL Sie können eine Funktion (weiß nicht, ob es ist somenthing ähnlich wie in SyBase)
Dann:
InformationsquelleAutor der Antwort Eduardo Molteni
Können Sie nicht tun dies in einer geraden GRUPPE VON in plain-vanilla-SQL. Verwenden Sie einen cursor (oder ein ähnliches Konstrukt) zum verketten der Werte in jeder Gruppe manuell.
InformationsquelleAutor der Antwort Dave Markle
Ich glaube, Sie gehen zu müssen, verwenden Sie einen cursor (http://manuals.sybase.com/onlinebooks/group-as/asg1250e/sqlug/@Generic__BookTextView/50501;pt=50305)
InformationsquelleAutor der Antwort Dan Williams
Es ist schon ein paar Jahre her, seit ich versucht habe mit der syntax, und ich keinen Zugriff mehr auf ein iAnywhere-Instanz, aber es war eine Aggregat-Funktion (Liste), um solch eine Aufgabe. Ich kann nicht bestätigen, wenn die LISTE() noch unterstützt.
InformationsquelleAutor der Antwort KDrewiske
Versuchen, diese:
InformationsquelleAutor der Antwort Aziz
Für PostgreSQL, mit einer ähnlichen Funktion string_agg.
InformationsquelleAutor der Antwort Ringtail
In PL/SQL Sie können es durch:
InformationsquelleAutor der Antwort Yan Pak