String concat auf dem MS SQL-für eine Gruppe von Zeilen
Können sagen, ich habe 2 Tabellen:
1 Benutzer
und ein anderes hält Rekord von dem Benutzer verwendet, was-codes.
Benutzer ----- Id, Name 1, 'John' 2, 'Mustermann' Codes ------ Id, Benutzer-id, code 1, 1, 145 2, 1, 187 3, 2, 251
Nun will ich ziehen Sie eine Abfrage, die Ergebnisse, die er folgenden
Namen, UsedCodes 'John', '145,187' 'Mustermann', '251'
Wie geht das mit einer Abfrage oder einer gespeicherten Prozedur?
Die DB-server verwenden Sie? Mit MySql machen würde, diese SEHR einfache, aber ein bisschen komplizierter, MS SQL.
Ich bin mit MS SQL
Und welche version?
Bedenken Sie, dass dies möglicherweise nicht das optimale format für die resultierenden Daten. es kann effizienter sein, um redundante Elemente in der
Ich bin mit MS SQL
Und welche version?
Bedenken Sie, dass dies möglicherweise nicht das optimale format für die resultierenden Daten. es kann effizienter sein, um redundante Elemente in der
Name
Spalte und 1 Zeile pro Benutzer-usedcode.InformationsquelleAutor brechtvhb | 2010-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie noch nicht angegeben, die DB, ich gebe dir zwei Optionen:MySql
Mit MySql-sollte ganz einfachGROUP_CONCAT()
Aggregat-Funktion.Microsoft SQL Server 2005+
Offensichtlich die Schnellste Weg, (kein Cursor, kein coalesce,...) immer das gleiche Ergebnis bei MS DB ist die Verwendung
FOR XML PATH('')
einfach weglässt XML-Elemente.Andere alternativen
Lesen dieser Artikel, erklärt, dass alle Möglichkeiten, dieses Ziel zu erreichen.
Vielen Dank für den Artikel. Die FOR XML PATH(") trick geklappt 🙂
Ich bin froh, dass Sie es Tat.
InformationsquelleAutor Robert Koritnik
Für SQL Server als ein wirklich quick and dirty könnte man eine SQL-Funktion und ein cursor. Ich würde nicht wirklich empfehlen, diese für eine hohe Auslastung und ich werde wirklich peinlich, wenn jemand Punkte ein viel einfacheres Beispiel, das nicht eine Funktion benötigen, geschweige denn einen cursor.
Und die Funktion wäre so etwas wie
EDIT: Sorry, für alle SQL-Syntax-Fehler, nicht installiert SQL hier zu validieren, etc. so erfolgt aus dem Speicher.
InformationsquelleAutor Paul Hadfield