verketten von Zeilen in einer select-Anweisung
Ich habe eine select-Anweisung, die so etwas
select col1 from table1 where cond1=true
Diese Ergebnisse, wie
col1
_____
5
5
6
3
aber ich will es ändern, um mich zurückbringen
5-5-6-3
Ist das möglich? Wenn ja, wie? Bitte lassen Sie mich wissen, wie dies zu tun. Vielen Dank im Voraus für Ihre Antworten.
- Dies scheint eine fast exakte Kopie von stackoverflow.com/questions/451415/... (fast, da sind die Antworten die gleichen, nicht die Frage)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie wahrscheinlich könnte, aber warum nicht tun Sie dies in der Anwendung? Ich weiß nicht, welche Sprache Sie verwenden, aber Sie könnte so etwas tun nachdem Sie das Ergebnis der Abfrage (pseudocode):
Dieser genau das tut, was Sie wollen:
HINWEIS: wenn Ihr col1 int dann denke ich, werden Sie konvertieren oder cast zu machen varchar.
http://blog.shlomoid.com/2008/11/emulating-mysqls-groupconcat-function.html
Wenn Sie auf Microsoft SQL Server, sollten Sie in der Lage sein, es zu tun mit der ERSETZEN-Befehl.
Sowas würde wahrscheinlich funktionieren.
Ich würde vorschlagen, Sie tun dies im front-end für eine große Anzahl von Zeilen dieser wird sehr langsam sein. SQL Server ist extrem langsam sting-Verkettung. Sie können eine .net-Funktion, die Tabelle und gibt den string zurück, so dass Sie sicherstellen können, Geschwindigkeit.
Wenn es keine Leistung sorgen, wie Ihr eine einmalige Sache etc gehen mit den anderen oben genannten Lösungen als diejenigen behandelt werden, die in sql
Dies so gut funktioniert:
versuchen Sie dies:
Unter MySQL können Sie das leicht tun