Bonjour,

voici ma problématique du jour :
Je voudrais utiliser le résultat d'une fonction Table dans une vue. J'ai cherché un peu partout sans succès.
Voici mon exemple :

Fonction F_Split :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE FUNCTION [dbo].[F_Split]
(
    @String NVARCHAR(4000),
    @Delimiter NCHAR(1)
)
RETURNS TABLE
AS
RETURN
(
    WITH Split(stpos,endpos)
    AS(
        SELECT 0 AS stpos, CHARINDEX(@Delimiter,@String) AS endpos
        UNION ALL
        SELECT endpos+1, CHARINDEX(@Delimiter,@String,endpos+1)
            FROM Split
            WHERE endpos > 0
    )
    SELECT 'Id' = ROW_NUMBER() OVER (ORDER BY (SELECT 1)),
        'Recherche' = SUBSTRING(@String,stpos,COALESCE(NULLIF(endpos,0),LEN(@String)+1)-stpos)
    FROM Split
)
Utilisation de F_Split seule :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM F_Split('169901548,169902514', ',')
Résultat

Id Recherche
1 169901548
2 169902514
Utilisation de F_Split liée avec une table :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT NoCde, CodeFournisseur 
FROM Table2
    INNER JOIN dbo.F_Split('169901548,169902514', ',') ON NoCde = F_Split.Recherche
Résultat

NoCde CodeFournisseur
169901548 98003000
169902514 98008000
Je voudrais lier ma colonne Recherche avec une table Cde afin de réaliser un rapport dans Crystal Report.
Peut-être modifier ma fonction pour lister l'ensemble des données de ma table1
Soit écrire une commande sql dans Crystal, soit créer une vue pour lier d'autres tables

J'étudie toute proposition.
D'avance merci