Bonsoir la communauté.

J'ai un problème, je n'ai jamais essayé quelque chose de ce genre. De quoi est-ce qu'il est question?

1) J'ai écrit la requête suivante:

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
SELECT f.vall REFER, 
 
       (SELECT f.vall REFER
 
        FROM DELTAERP.COMFNOM f
 
        WHERE f.cdos = '01' AND f.ctab = numt AND f.cacc = ind AND f.nume = 3) ACTIF,
 
        (SELECT f.vall REFER
 
        FROM DELTAERP.COMFNOM f
 
        WHERE f.cdos = '01' AND f.ctab = numt AND f.cacc = ind AND f.nume = 4) LIGNES,
 
        (SELECT f.vall REFER
 
        FROM DELTAERP.COMFNOM f
 
        WHERE f.cdos = '01' AND f.ctab = numt AND f.cacc = ind AND f.nume = 5) BRUTN,
 
        (SELECT f.vall REFER
 
        FROM DELTAERP.COMFNOM f
 
        WHERE f.cdos = '01' AND f.ctab = numt AND f.cacc = ind AND f.nume = 6) AMOR_PROV_N,
 
        (SELECT f.vall REFER
 
        FROM DELTAERP.COMFNOM f
 
        WHERE f.cdos = '01' AND f.ctab = numt AND f.cacc = ind AND f.nume = 7) NETN,
 
        (SELECT f.vall REFER
 
        FROM DELTAERP.COMFNOM f
 
        WHERE f.cdos = '01' AND f.ctab = numt AND f.cacc = ind AND f.nume = 8) NET_N_MOINS_UN
 
FROM DELTAERP.COMFNOM f
 
LEFT JOIN ( SELECT DISTINCT f1.cacc ind
 
            FROM DELTAERP.COMFNOM f1
 
            WHERE f1.cdos = '01' AND f1.ctab = 30001
 
            ORDER BY f1.cacc DESC) 
 
     ON ind = f.cacc 
 
LEFT JOIN ( SELECT DISTINCT f2.ctab numt
 
            FROM DELTAERP.COMFNOM f2
 
            WHERE f2.cdos = '01' AND f2.ctab = 30001)   
 
     ON numt = f.ctab  
 
WHERE f.cdos = '01' AND f.ctab = 30001 AND f.nume = 2
Elle s'exécute bien et le résultat est donné ci dessous:

REFER ACTIF LIGNES BRUTN AMOR_PROV NETN NET_N_MOINS_UN
--------------------------------------------------------------------------
201,202,206,S
201,S
202,S
206,S

Ceci represente les resultats de la colonne BRUTN

2) Je voudrais appliquer une procédure uniquement a la colonne BRUTN. Cette procédure doit permettre de fabriquer les sous chaines avec comme séparateurs les virgules pour chaque ligne. Ces sous chaines seront utilisés dans d'autres procédures afin de calculer un montant qui viendra remplacer les valeurs de cette colonne.

Par exemple: pour la 1ere ligne, les sous chaines sont: "201", "202", "206", "S"
pour la deuxième ligne les sous chaines sont: "201", "S"
et ainsi de suite pour les autres lignes.

Je ne sais pas comment m'y prendre.

Merci..