MS SQL n:m Relation Concat Problem
-
Hallo,
Ich habe ein Problem. Wir haben eine Kontakt-Tabelle mit ca 1,2M einträgen
und wir haben eine Tabelle mit Kollektionsschlüsseln ca. 1400. Zwischen Kontakt und Kollektionsschlüsseln besteht eine n:m Beziehung. Die entsprechende
Relationstabelle hat ca 14,5M Einträge. Ich habe eine Oberfläche gebaut
bei der, der Kunde einen Kontakt nach diesen Schlüsseln suchen können soll.
Der Kunde kann max 15 dieser Schlüssel hinzufügen und die Verknüpfung wählen
(UND, ODER, UND NICHT).Um das zu ermöglichen denke ich muss man die Schlüssel Concatenieren, dass
man sowas erhält wie:Kunde1 schlüssel1 schlüssel2 ....
Leider bin ich kein Datenbankexperte ich habe folgendes Probiert:
SELECT ContactBase.FullName, STUFF((SELECT ','+ok_kollektionsschluessel.ok_Kollektionsschluessel FROM ok_kollektionsschluessel INNER JOIN ok_contact_ok_kollektionsschluessel ON ok_kollektionsschluessel.ok_kollektionsschluesselId = ok_contact_ok_kollektionsschluessel.ok_kollektionsschluesselid INNER JOIN ContactBase ON ContactBase.ContactId = ok_contact_ok_kollektionsschluessel.contactid FOR XML PATH('')),1,1,'') AS BLah FROM ContactBase
das führt nur leider dazu das mir die festplatte der VM vollläuft und
SQL sich aufhängt. Ich vermute ich habe hier eine Query-schleife gebaut.Was mache ich falsch, wie kann ich dieses Problem lösen?
Danke