Gebäude eine Komma-getrennte Liste von Werten in einer Oracle-SQL-Anweisung
Ich versuche zu bauen, eine Komma-getrennte Liste von Werten aus einem Feld in Oracle.
Finde ich einige Beispiel-code, der dies tut:
DECLARE @List VARCHAR(5000)
SELECT @List = COALESCE(@List + ', ' + Display, Display)
FROM TestTable
Order By Display
Aber wenn ich versuche, ich bekomme immer eine Fehlermeldung über dem FROM-Schlüsselwort nicht waren, war es zu erwarten. Ich kann verwenden SELECT INTO
und es funktioniert, aber wenn ich mehr als eine Zeile bekomme ich den fetch-Fehler.
Warum kann nicht ich wie folgt:
SELECT myVar = Field1
FROM myTable
Wenn Sie post-code -, XML-oder Daten-samples, bitte markieren Sie die gewünschten Zeilen im text-editor und klicken Sie auf den "code samples" - Taste (
möglich, Duplikat der Wie kann ich die kombinieren Sie mehrere Zeilen in eine durch Komma getrennte Liste der in Oracle?
{ }
) auf der editor-Symbolleiste zu schön format und syntax-highlight!möglich, Duplikat der Wie kann ich die kombinieren Sie mehrere Zeilen in eine durch Komma getrennte Liste der in Oracle?
InformationsquelleAutor VBAHole | 2011-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Oracle verwenden Sie eine der vielen string aggregation Techniken gesammelt von Tim Hall auf dieser Seite.
Wenn Sie mit 11.2,
In früheren Versionen, meine Präferenz wäre, um die user-defined aggregate-function-Ansatz (Tim heißt
string_agg
) zu tunInformationsquelleAutor Justin Cave
Vielleicht versuchen DBMS_UTILITY.COMMA_TO_TABLE und TABLE_TO_COMMA, split/join-csv:
zeigen, mein Alter denke ich mal 😉 ich bin wirklich nicht alt, aber ich fühle mich alt, manchmal (esp Lektüre einige der Fragen auf, SO ).
und sorry VBAHole, mein Kommentar über Fragen ALSO war nicht gegen dich gerichtet!
InformationsquelleAutor tbone
Können nicht Sie mehrere Werte in einer einzelnen Variablen, es sei denn, Sie verketten Sie irgendwie.
Nur einen einzigen Wert (nicht sicher, dass die oracle-syntax),
Sonst, verketten Sie die Werte (wieder, nicht sicher, Oracle)
InformationsquelleAutor datagod