SQL - Speichern mehrerer Datensätze in einer Variablen, die durch Kommas getrennt

Ich habe zwei Variablen, 1 varchar namens cust_ref und 1 int namens associated_ids. Was ich versuche zu erreichen, ist die folgende:

Die Sie cust_ref mit einem Wert, der führt in der Regel zwischen 1+ Zeilen zurückgegeben, die von der Customer Tabelle. Mir geht es um die Erfassung aller customer_id Datensätzen cust_ref und speichert Sie in der associated_ids variable, getrennt durch commars.

Dies ist der SQL habe ich bisher, und offensichtlich ist nur das laden eines der customer_id Datensätze in die variable. Basierend auf diesem Beispiel möchte ich wählen Sie @associated_ids auf Folgendes zurück 75458,77397,94955

declare @cust_ref varchar(20) = 'ABGR55532'
declare @associated_ids int

select distinct @associated_ids = customer_id
from dbo.Customer
where cust_ref = @cust_ref

select @associated_ids

select *
from dbo.Customer
where cust_ref = @cust_ref

Hier die Ergebnisse aus der oben genannten, wie Sie sehen können, gibt es eigentlich 3 associated_ids dass ich muss in der Variablen gespeichert, in diesem Beispiel, aber mein Befehl wird die Erfassung der größte, ich will alle 3 getrennt nach commars.

SQL - Speichern mehrerer Datensätze in einer Variablen, die durch Kommas getrennt

  • mögliche Duplikate von Verketten viele Zeilen in einer einzigen text-string?
  • Ich bin mir nicht sicher, warum würden Sie wollen, etwas zu Ergebnis in eine durch Komma getrennte Zeichenfolge in der SQL. Wenn es das ist, wie Sie präsentiert wird, in der Benutzeroberfläche, wählen Sie aus den Zeilen, und konvertieren Sie es in Ihrem DAL
  • Ich bin erstellen eine gespeicherte Prozedur, die brauchen nur das cust_ref Variablen, so dass ich verwenden können (@associated_ids)
  • Auch ich habe einen Blick auf die "Duplikate" und bin kämpfen, um von den FÜR die XML-PATH-syntax in meinem Beispiel, ich würde daher schätzen alle die das Skript für mein Beispiel
InformationsquelleAutor JsonStatham | 2013-07-26
Schreibe einen Kommentar