SQL Server Connexion de texte multiplié: Méthode du chemin XMLMerger les données de texte multi-lignes en une seule chaîne est courante. Par exemple, il y a un tableau contenant le nom:
Le but est de le convertir en une corde unifiée: "Pierre, Paul, Mary".
<code>Peter Paul Mary</code>Copier après la connexionPour les utilisateurs de SQL Server 2017 ou Azure, vous pouvez considérer la solution fournie par Mathieu Renda. Cependant, pour les premières versions (comme SQL 2005), la méthode du chemin XML fournit une méthode efficace pour cette tâche de connexion.
Ce qui suit est un exemple de tableau appelé étudiants:
La sortie attendue est:
SubjectID StudentName 1 Mary 1 John 1 Sam 2 Alaina 2 Edward Pour y parvenir, veuillez utiliser le code T-SQL suivant:
SubjectID StudentName 1 Mary, John, Sam 2 Alaina, Edward Cette requête récupère la valeur du nom d'étudiant de subjectid et connecté, et ometta la virgule dans la chaîne de résultats.
<code class="language-sql">SELECT Main.SubjectID, LEFT(Main.Students,Len(Main.Students)-1) As "Students" FROM ( SELECT ST2.SubjectID, ( SELECT ST1.StudentName + ',' AS [text()] FROM dbo.Students ST1 WHERE ST1.SubjectID = ST2.SubjectID ORDER BY ST1.SubjectID FOR XML PATH (''), TYPE ).value('text()[1]','nvarchar(max)') [Students] FROM dbo.Students ST2 GROUP BY ST2.SubjectID ) [Main]</code>Copier après la connexionou, vous pouvez utiliser une méthode plus concise pour connecter les virgules au début et utiliser des choses pour supprimer la première virgule:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!