Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

1 réponse
Avatar
Julien
Bonjour,=20

Je souhaite cr=E9er une analyse crois=E9e sur SQL. J'ai trouv=E9=20
la m=E9thode pour le faire une seule chose coince , je suis=20
oblig=E9 de nommer les diff=E9rentes colonnes d=E8s la cr=E9ation=20
de la requ=EAte.

Je voudrais remplacer les intitul=E9s [M-3],[M-2],[M-1] et=20
[M] par le nom du mois !=20

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

Cordialement

Julien


SELECT CODART,
sum(Case when mois =3D month(DateAdd(Month,-3,getDate()))=20
then TBL.QTe else 0 end) as [M-3],
sum(Case when mois =3D month(DateAdd(Month,-2,getDate()))=20
then TBL.QTe else 0 end) as [M-2],
sum(Case when mois =3D month(DateAdd(Month,-1,getDate()))=20
then TBL.QTe else 0 end) as [M-1],
sum(Case when mois =3D month(DateAdd(Month,-3,getDate()))=20
then TBL.QTe else 0 end) as [M]
FROM=20
(
SELECT CODART,cast(Year(Datfac)as nvarchar(4))
+' '+ right('00'+cast(Month(DATFAC) as nvarchar(2)),2) AS=20
YM, Month(DATFAC)as mois,Sum(Qte) as Qte
FROM dbo.VENTE
WHERE CODART like 'View%' and DATFAC Between=20
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

1 réponse

Avatar
Ambassadeur Kosh
une table : { M , janvier } { M-1 fevrier } ...

et une jointure pour substituer [nom] par son equivalent texte dans la
sortie