Problème d'entête de colonne dynamique.

Le
Julien
Bonjour,

Je souhaite crer une analyse croise sur SQL. J'ai trouv
la mthode pour le faire une seule chose coince , je suis
oblig de nommer les diffrentes colonnes ds la cration
de la requte.

Je voudrais remplacer les intituls [M-3],[M-2],[M-1] et
[M] par le nom du mois !

Je remercie d'avance les personnes qui prendront le temps
de lire ce message et de m'aider. Si une personne la
solution pourrait elle me l'envoyer sur mon adresse.

Cordialement

Julien


SELECT CODART,
sum(Case when mois = month(DateAdd(Month,-3,getDate()))
then TBL.QTe else 0 end) as [M-3],
sum(Case when mois = month(DateAdd(Month,-2,getDate()))
then TBL.QTe else 0 end) as [M-2],
sum(Case when mois = month(DateAdd(Month,-1,getDate()))
then TBL.QTe else 0 end) as [M-1],
sum(Case when mois = month(DateAdd(Month,-3,getDate()))
then TBL.QTe else 0 end) as [M]
FROM
(
SELECT CODART,cast(Year(Datfac)as nvarchar(4))
+' '+ right('00'+cast(Month(DATFAC) as nvarchar(2)),2) AS
YM, Month(DATFAC)as mois,Sum(Qte) as Qte
FROM dbo.VENTE
WHERE CODART like 'View%' and DATFAC Between
DateAdd(Month,-3,(getDate()-1)) And (getdate()-1)
GROUP BY CODART,cast(Year(Datfac)as nvarchar(4))
+' '+ right('00'+cast(Month(DATFAC) as nvarchar
(2)),2),Month(DATFAC)
) TBL
GROUP BY CODART
ORDER BY CODART
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ambassadeur Kosh
Le #11722861
une table : { M , janvier } { M-1 fevrier } ...

et une jointure pour substituer [nom] par son equivalent texte dans la
sortie
Publicité
Poster une réponse
Anonyme