Rechercher : dans
Par :

Porblème lecture Variable SQL SERVER 2005

Dernière réponse le 7 jui 2009 à 10:38:32 OSTIE127, le 27 mai 2009 à 21:53:05 
 Signaler ce message aux modérateurs

Bonjour,

J'ai une requête dnt voici le code :



DECLARE @mois varchar(2000)
set @mois = '[31-12-2008],[31-01-2009]'
SELECT @mois;

with test as (SELECT 'PS_731_730' as CellName, CONVERT(VARCHAR,RDate,105) as mois, round((SUM(MV)/1000),1) AS MarketValue
FROM (
SELECT RDate, PositionCdp, Portefeuille, Emetteur, SUM(MarketValue) AS MV
FROM dbo.POSITION_CDP
GROUP BY RDate, PositionCdp, Portefeuille, Emetteur
HAVING RDate between '2008-12-31' AND '2009-01-31' AND Emetteur = N'cdpq' AND (PositionCdp = N'GEN CD CDP US' OR
PositionCdp like 'GEN CD CDPQ %') AND SUM(MarketValue) > 0
) AS POSITIONS
group by rdate
)

select *
from test
PIVOT(
SUM(MarketValue) for mois in (@mois)
)as pvt



et voici le message que m'affiche SQL SERVER lorsque je click sur Execut

Msg 102, Level 15, State 1, Line 19
Incorrect syntax near '@mois'.

Je n'ai aucune idée pourquoi il me dit cela, alors qu'il ne semble pas y avoir de probléme de synthaxe.

Si quelqu'un à une idée je suis à l'écoute.

Merci

Configuration: Windows XP
Firefox 3.0.4

1

 Sacha79, le 7 jui 2009 à 10:38:32

Ca ne peut pas fonctionner tel quel : tu essais de trouver les éléments d'une liste et non un seul element. Je te suggère donc, d'ajouter un traitement te permettant de transformer ta liste en table temporaire comme suit :

http://www.xoowiki.com/Article/SQL-Server/elements-dune-list­e-85.aspx

Répondre à Sacha79
Collection CommentÇaMarche.net