Séparer résultat d'une requête

hamdys Messages postés 2 Statut Membre -  
hamdys Messages postés 2 Statut Membre -
Bonjour

Je cherche à créer une fonction qui permet de retourner résultat sous forme d'une ligne séparer par une virgule de facon Nom1, Nom2...
en ce qui suit la fonction que j'ai créé merci de la rectifier

MERCI

CREATE FUNCTION [dbo].[LISTE](@ID INT)
RETURNS VARCHAR (MAX)

AS
BEGIN
DECLARE @chaine VARCHAR (MAX)
SELECT @chaine=NOM+',' FROM Enseignant
WHERE @ID IN (SELECT ID FROM Enseignant)

RETURN @chaine
END
GO

2 réponses

  1. hamdys Messages postés 2 Statut Membre
     
    Bonjour,
    en faite je veux chercher à l'aide d'un id spécifique la liste des NOMS qui lui correspond
    j'ai essaie cette fonction mais j'obtiens toujours le mm résultat avec des IDs différents
    "
    CREATE FUNCTION [dbo].[LISTE](@ID INT)
    RETURNS VARCHAR (MAX)

    AS
    BEGIN
    DECLARE @chaine VARCHAR (MAX)
    SELECT @chaine=COALESCE(@chaine + ',', '') + NOM
    FROM Enseignant
    WHERE @ID IN (SELECT ID FROM Enseignant)

    RETURN @chaine
    END
    GO
    "

    MERCI
    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,


    Je cherche à créer une fonction qui permet de retourner résultat sous forme d'une ligne séparer par une virgule de facon Nom1, Nom2...


    Pourquoi faire ???
    Il existe déjà la fonction CONCAT pour ça !
    https://docs.microsoft.com/fr-fr/sql/t-sql/functions/concat-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15

    -1