Re bonjour tout le monde,

Inspiré par une solution proposée sur ce site, j'ai codé la requête si dessous qui me renvoie systématiquement une erreur, que voici d'ailleur :
Msg*105, Niveau*15, État*1, Ligne*2
Ouvrez les guillemets après la chaîne de caractères ')) AS cad_deldem
GROUP BY art_cod'.
Msg*102, Niveau*15, État*1, Ligne*2
Syntaxe incorrecte vers ')) AS cad_deldem
GROUP BY art_cod'.
Cette erreur est provoquée par le code suivant :

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
declare c cursor  for select distinct cal_semaine  from tb_ooep_calendrier_annuel order by cal_semaine
declare @pivot varchar(200), @sum varchar(200), @sql nvarchar(1000), @col int
 
select @pivot='',  @sum=''
 
open c
fetch c into @col
while @@FETCH_STATUS = 0
	begin
	select @sum = @sum + ' SUM(['+ cast(@col as varchar(30)) +']) AS ['+ cast(@col as varchar(30)) +'],',
		   @pivot = @pivot + ' ['+ cast(@col as varchar(30)) +'], '
	fetch c into @col
	end
close c
deallocate  c
 
set @sql = 'SELECT art_cod, '+ left(@sum, len(@sum))+ 
			' FROM rq_ooep_obj_cmde_12_mois PIVOT (SUM(qte_cmde) 
			FOR cad_deldem IN ('+ left(@pivot, len(@pivot))+ ')) AS cad_deldem 
			GROUP BY art_cod'
 
exec(@sql)
.. et j'avoue ne pas voir du tout où est mon erreur alors si jamais un d'entre vous à une idée je suis preneur! Par contre je ne sais pas si vous disposez d'assez d'informations avec ce que je viens de vous donner... Alors si jamais...

Bon, c'est l'heure de la bouffe alors bon app tout le monde et à touti

Julius