[Racine des codes] [Page précédente]

MS-SQL - group by concat

/SQL/MS-SQL - group by concat.sql
Utilisation :

SELECT tr_id, dbo.Fn_get_liste_participants(tr_id) AS pax
FROM   transac tr (NOLOCK)


Avec :

CREATE FUNCTION [dbo].[Fn_get_liste_participants](@tr_id NUMERIC(18))
RETURNS VARCHAR(8000)
AS
  BEGIN
      DECLARE @res VARCHAR(8000)

      SET @res=''

      SELECT @res = @res + ', ' + pa_prenom + ' ' + pa_nom
      FROM   dbo.participant pa (NOLOCK)
      WHERE  pa.tr_id = @tr_id

      IF @res <> ''
        BEGIN
            SET @res = RIGHT(@res, LEN(@res) - 2) -- vire 1er ','
        END

      RETURN @res
  END  

[edit]