Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2008, 17h45   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 60
Points : 11
Points : 11
Par défaut PIVOT avec Total

Bonjour

Je souhaiterai savoir s'il est possible d'ajouter une colonne qui totaliserait les éléments de chaque ligne d'un SELECT avec PIVOT.
Voici le code actuel :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT fld_dtm_Mois_ouverture AS Date, [1], [2], [3], [4], [5], [6],[7]
FROM (
	SELECT [Référentiel Dossiers].Code_dossier AS fld_int_Code_Dossier, 
		DATENAME(month, Date_Ouverture) + ' ' + DATENAME(YEAR, Date_Ouverture) AS fld_dtm_Mois_ouverture,
		dbo.fct_vch_Partenaire([Référentiel Dossiers].Code_dossier) AS fld_vch_Partenaire
	FROM [Référentiel Dossiers] LEFT JOIN [Référentiel Partenaires] ON 
	[Référentiel Dossiers].Code_Banque = [Référentiel Partenaires].Code_partenaire LEFT JOIN 
	[Référentiel Partenaires] AS [Référentiel Partenaires_1] ON 
	[Référentiel Dossiers].Code_Mutuelle = [Référentiel Partenaires_1].Code_partenaire
	WHERE [Référentiel Dossiers].Date_Ouverture >= @dtm_Date_Debut AND 
		[Référentiel Dossiers].Date_Ouverture <= @dtm_Date_Fin 
	) AS tbl_Pivot_Source
PIVOT
(COUNT(fld_int_Code_Dossier) FOR fld_vch_Partenaire IN 
([1], [2], [3], [4], [5], [6],[7])
) AS tbl_Pivot_Table 
ORDER BY CAST(fld_dtm_Mois_ouverture AS datetime)
Je souhaiterais faire le total de mes valeurs (COUNT(fld_int_Code_Dossier)) pour chaque ligne (fld_dtm_Mois_ouverture AS Date).

Merci d'avance
rvaouate est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2008, 17h56   #2
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 60
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 60
Points : 11
Points : 11
J'ai trouvé la solution si ça peut intéresser quelqu'un :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT fld_dtm_Mois_ouverture AS Date, [1], [2], [3], [4], [5], [6],[7],
[1] + [2] + [3] + [4] + [5] + [6] + [7] AS [TOTAL]
FROM (
	SELECT [Référentiel Dossiers].Code_dossier AS fld_int_Code_Dossier, 
		DATENAME(month, Date_Ouverture) + ' ' + DATENAME(YEAR, Date_Ouverture) AS fld_dtm_Mois_ouverture,
		dbo.fct_vch_Partenaire([Référentiel Dossiers].Code_dossier) AS fld_vch_Partenaire
	FROM [Référentiel Dossiers] LEFT JOIN [Référentiel Partenaires] ON 
	[Référentiel Dossiers].Code_Banque = [Référentiel Partenaires].Code_partenaire LEFT JOIN 
	[Référentiel Partenaires] AS [Référentiel Partenaires_1] ON 
	[Référentiel Dossiers].Code_Mutuelle = [Référentiel Partenaires_1].Code_partenaire
	WHERE [Référentiel Dossiers].Date_Ouverture >= @dtm_Date_Debut AND 
		[Référentiel Dossiers].Date_Ouverture <= @dtm_Date_Fin 
	) AS tbl_Pivot_Source
PIVOT
(COUNT(fld_int_Code_Dossier) FOR fld_vch_Partenaire IN 
([1], [2], [3], [4], [5], [6],[7], [TOTAL])
) AS tbl_Pivot_Table 
ORDER BY CAST(fld_dtm_Mois_ouverture AS datetime)
rvaouate est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h53.


 
 
 
 
Partenaires

Hébergement Web