OVH Cloud OVH Cloud

tableau analyse croisée problème

2 réponses
Avatar
steffy
bonjour

Je cherche mais en vain à faire dans ma base sqlserver un tableau d'analyse
croisée de trois table

Table 1
Id_entreprise
Entreprise

Table2
Id_Activité
fk_id_entreprise
Activite

Table3
Id_Activité
Id_Insc
Candidat
Sexe

Je voudrais obtenir ce tableau soit le total par activité selon l'entreprise

Nom Entreprise Activité Sexe
Masculin Sexe Feminin Total
ABC Lecture
3 4 7
abc Info
3 1 4

Est-ce possible

Merci beaucoup de votre aide toujours très apprécié

Marion

2 réponses

Avatar
Med Bouchenafa[MVP]
Essaie quelque chose comme ceci.
Si c'est pas çà, cela ne devrait pas être loin

SELECT T1.Entreprise,
T2.Activite,
SexeMasculin = SUM(CASE WHEN T3.Sexe='M' THEN 1 ELSE 0 END,
SexeFeminin = SUM(CASE WHEN T3.Sexe='F' THEN 1 ELSE 0 END),
Total = COUNT(*)
FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id_entreprise = T2.fk_id_entreprise
INNER JOIN Table3 T3 ON T2.Id_Activité = T3.Id_Activité
GROUP BY T1.Entreprise, T2.Activite


--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris
"steffy" a écrit dans le message de news:
eHWUIDa$
bonjour

Je cherche mais en vain à faire dans ma base sqlserver un tableau d'analyse
croisée de trois table

Table 1
Id_entreprise
Entreprise

Table2
Id_Activité
fk_id_entreprise
Activite

Table3
Id_Activité
Id_Insc
Candidat
Sexe

Je voudrais obtenir ce tableau soit le total par activité selon l'entreprise

Nom Entreprise Activité Sexe
Masculin Sexe Feminin Total
ABC Lecture
3 4 7
abc Info
3 1 4

Est-ce possible

Merci beaucoup de votre aide toujours très apprécié

Marion






Avatar
steffy
Merci beaucoup ca fonctionne très bien.. c'est que je j'avais de besoin

marion



"Med Bouchenafa[MVP]" a écrit dans le message de
news:eym0Igd$
Essaie quelque chose comme ceci.
Si c'est pas çà, cela ne devrait pas être loin

SELECT T1.Entreprise,
T2.Activite,
SexeMasculin = SUM(CASE WHEN T3.Sexe='M' THEN 1 ELSE 0 END,
SexeFeminin = SUM(CASE WHEN T3.Sexe='F' THEN 1 ELSE 0 END),
Total = COUNT(*)
FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id_entreprise T2.fk_id_entreprise
INNER JOIN Table3 T3 ON T2.Id_Activité T3.Id_Activité
GROUP BY T1.Entreprise, T2.Activite


--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris
"steffy" a écrit dans le message de news:
eHWUIDa$
> bonjour
>
> Je cherche mais en vain à faire dans ma base sqlserver un tableau


d'analyse
> croisée de trois table
>
> Table 1
> Id_entreprise
> Entreprise
>
> Table2
> Id_Activité
> fk_id_entreprise
> Activite
>
> Table3
> Id_Activité
> Id_Insc
> Candidat
> Sexe
>
> Je voudrais obtenir ce tableau soit le total par activité selon


l'entreprise
>
> Nom Entreprise Activité Sexe
> Masculin Sexe Feminin Total
> ABC Lecture
> 3 4 7
> abc Info
> 3 1 4
>
> Est-ce possible
>
> Merci beaucoup de votre aide toujours très apprécié
>
> Marion
>
>
>
>