Concaténer le champ Peli_type sur une même ligne avec une requête SQL
Concaténer le champ Peli_type sur une même ligne avec une requête SQL

Pour le besoin d'un rapport, il peut être utile de lister les contacts de la base CRM et de souhaiter récupérer le champ Type (Peli_Type dans la base de données) : Or, un contact peut avoir différents peli_type ce qui retournerait plusieurs enregistrements si on ajoute le champ comme colonne du rapport.

Pour éviter la multiplication des lignes, il faut créer une vue qui va concaténer dans un même champ les informations sur une même ligne :
Voici un exemple de requête qui le permet :

select distinct substring((select ','+rtrim(Peli_type) as [text()] from vsearchlistperson P1
left outer join Person_Link on Pers_PersonId=PeLi_PersonId
where P1.Pers_PersonId=P2.Pers_PersonId
FOR XML PATH ('')),2,1000) peli_typeD, P2.*
from vsearchlistperson P2

On obtient un premier champ avec les informations concaténer : vous avez la main pour ajouter d'autre champ sans démultiplier les lignes.

SageCRM, SQL