Bonsoir,
Voila j'aurais voulu afficher uniquement le CA mini et maxi d'un représentant par ville et donc au résultat avoir une ligne par VILLE uniquement regroupant le CA mini et maxi de celui-ci.
Sachant que j'ai 5 villes différentes au total et que chaque ville peut avoir plusieurs représentant comme la requête ci-dessous vous le montre :
NREP VILLE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT R.NREP,VILLE, sum(montant) FROM BUREAU B, COMMANDE CMD, REPRESENTANT R WHERE B.NBUR = R.NBUR and R.NREP = CMD.NREP GROUP BY VILLE, R.NREP
106 NEW YORK 32958.00
109 NEW YORK 33130.00
101 CHICAGO 3978.00
103 CHICAGO 37795.00
104 CHICAGO 67500.00
105 ATLANTA 35582.00
102 LOS ANGELES 29276.00
108 LOS ANGELES 51533.00
107 DENVER 3082.00
En ce moment je bloque sur ce code :
Celui-ci fait bien une partie de ceux que je veux mais le problème qui me coince est la réinitialisation de CA_mini et CA_maxi chaque fois que la ville change.
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 DECLARE @CA_mini dec(9,2) DECLARE @CA_maxi dec(9,2) DECLARE @VILLE varchar(25) DECLARE @montant dec(9,2) DECLARE @VILLE2 varchar(25) SET @CA_mini = 50000 SET @CA_maxi = 0 DECLARE exo2 CURSOR FOR SELECT VILLE FROM BUREAU B OPEN exo2 FETCH FROM exo2 INTO @VILLE2 BEGIN WHILE @@FETCH_STATUS = 0 BEGIN BEGIN DECLARE exo CURSOR FOR SELECT VILLE, sum(montant) FROM BUREAU B, COMMANDE CMD, REPRESENTANT R WHERE B.NBUR = R.NBUR and R.NREP = CMD.NREP and ville = @ville2 GROUP BY VILLE, R.NREP OPEN exo FETCH FROM exo INTO @VILLE, @montant BEGIN WHILE @@FETCH_STATUS = 0 BEGIN BEGIN IF @MONTANT > @CA_maxi SET @CA_maxi = @MONTANT IF @MONTANT < @CA_mini SET @CA_mini = @MONTANT END FETCH FROM exo INTO @VILLE, @montant END END CLOSE exo DEALLOCATE exo END PRINT 'La ville de ' + @ville2 + ' qui a un CA mini de '+convert(char(9),@CA_mini)+'et un CA maxi de '+convert(char(9),@CA_maxi) FETCH FROM exo2 INTO @VILLE2 END END CLOSE exo2 DEALLOCATE exo2
Pouvez-vous me proposer une aide pour me débloquer s'il vous plaît et si possible l'explication qui va avec toujours dans le cadre de ma formation et savoir ce que je fais.
Merci a vous
Partager