J'ai une table Capacit=E9 avec les colonnes : code_lycee, nom_lycee,
code_formation, lib_formation et capacite.
Ma 2=B0 table effectif comporte les col : code_lycee, nom_lycee,
code_formation, lib_formation et effectif.
Certains lyc=E9es de la 1re table ne se trouvent pas dans la 2=B0 et
inversement.
Voici ma requete :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form,
Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa)
FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm =3D
Tab_Eff.codeForm
GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
HAVING Sum(Tab_Capacite.capa)<>0
La colonne capacit=E9 est bonne, mais pour la colonne effectif, la
requete me calcule tous les effectifs de la table effectif y compris
ceux des lyc=E9es pour lesquels la capacit=E9 est 0 dans la table
capacit=E9
Une solution ?
Merci d'avance
Eric
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LiR
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui rentrent dans leur capacité respective (pour un lycée donné si la capacité est 10 et l'effectif 12, cela renvoie 10)?
J'ai une table Capacité avec les colonnes : code_lycee, nom_lycee, code_formation, lib_formation et capacite. Ma 2° table effectif comporte les col : code_lycee, nom_lycee, code_formation, lib_formation et effectif. Certains lycées de la 1re table ne se trouvent pas dans la 2° et inversement. Voici ma requete : SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form, Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa) FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm > Tab_Eff.codeForm GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form HAVING Sum(Tab_Capacite.capa)<>0 La colonne capacité est bonne, mais pour la colonne effectif, la requete me calcule tous les effectifs de la table effectif y compris ceux des lycées pour lesquels la capacité est 0 dans la table capacité Une solution ? Merci d'avance Eric
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que
tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui
rentrent dans leur capacité respective (pour un lycée donné si la capacité
est 10 et l'effectif 12, cela renvoie 10)?
J'ai une table Capacité avec les colonnes : code_lycee, nom_lycee,
code_formation, lib_formation et capacite.
Ma 2° table effectif comporte les col : code_lycee, nom_lycee,
code_formation, lib_formation et effectif.
Certains lycées de la 1re table ne se trouvent pas dans la 2° et
inversement.
Voici ma requete :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form,
Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa)
FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm > Tab_Eff.codeForm
GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
HAVING Sum(Tab_Capacite.capa)<>0
La colonne capacité est bonne, mais pour la colonne effectif, la
requete me calcule tous les effectifs de la table effectif y compris
ceux des lycées pour lesquels la capacité est 0 dans la table
capacité
Une solution ?
Merci d'avance
Eric
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui rentrent dans leur capacité respective (pour un lycée donné si la capacité est 10 et l'effectif 12, cela renvoie 10)?
J'ai une table Capacité avec les colonnes : code_lycee, nom_lycee, code_formation, lib_formation et capacite. Ma 2° table effectif comporte les col : code_lycee, nom_lycee, code_formation, lib_formation et effectif. Certains lycées de la 1re table ne se trouvent pas dans la 2° et inversement. Voici ma requete : SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form, Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa) FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm > Tab_Eff.codeForm GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form HAVING Sum(Tab_Capacite.capa)<>0 La colonne capacité est bonne, mais pour la colonne effectif, la requete me calcule tous les effectifs de la table effectif y compris ceux des lycées pour lesquels la capacité est 0 dans la table capacité Une solution ? Merci d'avance Eric
sinpa
Je veux faire la somme des effectifs par formation, mais uniquement pour les lycées dont la capacité est différente de 0 Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle prend aussi en compte les effectifs de la table effectifs où la capacité est = 0 dans la table Capacité.
"LiR" a écrit dans le message de news:
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui rentrent dans leur capacité respective (pour un lycée donné si la capacité est 10 et l'effectif 12, cela renvoie 10)?
Je veux faire la somme des effectifs par formation, mais uniquement pour les
lycées dont la capacité est différente de 0
Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle
prend aussi en compte les effectifs de la table effectifs où la capacité
est = 0 dans la table Capacité.
"LiR" <LiR@discussions.microsoft.com> a écrit dans le message de news:
B927A5B8-60A4-4614-95AB-B5761B72AEA4@microsoft.com...
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux
que
tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui
rentrent dans leur capacité respective (pour un lycée donné si la capacité
est 10 et l'effectif 12, cela renvoie 10)?
Je veux faire la somme des effectifs par formation, mais uniquement pour les lycées dont la capacité est différente de 0 Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle prend aussi en compte les effectifs de la table effectifs où la capacité est = 0 dans la table Capacité.
"LiR" a écrit dans le message de news:
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui rentrent dans leur capacité respective (pour un lycée donné si la capacité est 10 et l'effectif 12, cela renvoie 10)?
LiR
Alors c'est une clause WHERE qu'il te faut et non une clause HAVING :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form, Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa) FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm Tab_Eff.codeForm WHERE Tab_Capacite.capa<>0 GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
Je veux faire la somme des effectifs par formation, mais uniquement pour les lycées dont la capacité est différente de 0 Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle prend aussi en compte les effectifs de la table effectifs où la capacité est = 0 dans la table Capacité.
"LiR" a écrit dans le message de news:
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui rentrent dans leur capacité respective (pour un lycée donné si la capacité est 10 et l'effectif 12, cela renvoie 10)?
Alors c'est une clause WHERE qu'il te faut et non une clause HAVING :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form,
Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa)
FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm Tab_Eff.codeForm
WHERE Tab_Capacite.capa<>0
GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
Je veux faire la somme des effectifs par formation, mais uniquement pour les
lycées dont la capacité est différente de 0
Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle
prend aussi en compte les effectifs de la table effectifs où la capacité
est = 0 dans la table Capacité.
"LiR" <LiR@discussions.microsoft.com> a écrit dans le message de news:
B927A5B8-60A4-4614-95AB-B5761B72AEA4@microsoft.com...
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux
que
tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui
rentrent dans leur capacité respective (pour un lycée donné si la capacité
est 10 et l'effectif 12, cela renvoie 10)?
Alors c'est une clause WHERE qu'il te faut et non une clause HAVING :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form, Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa) FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm Tab_Eff.codeForm WHERE Tab_Capacite.capa<>0 GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
Je veux faire la somme des effectifs par formation, mais uniquement pour les lycées dont la capacité est différente de 0 Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle prend aussi en compte les effectifs de la table effectifs où la capacité est = 0 dans la table Capacité.
"LiR" a écrit dans le message de news:
Bonjour,
En fait, au lieu de nous dire ce que fait la requête, il vaudrait mieux que tu nous dises ce que tu veux obtenir.
Par exemple, cherches-tu à comptabiliser uniquement les effectifs qui rentrent dans leur capacité respective (pour un lycée donné si la capacité est 10 et l'effectif 12, cela renvoie 10)?
sinpa
OK, je testerais ça lundi au bureau Merci "LiR" a écrit dans le message de news:
Alors c'est une clause WHERE qu'il te faut et non une clause HAVING :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form, Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa) FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm > Tab_Eff.codeForm WHERE Tab_Capacite.capa<>0 GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
Je veux faire la somme des effectifs par formation, mais uniquement pour les lycées dont la capacité est différente de 0 Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle prend aussi en compte les effectifs de la table effectifs où la capacité est = 0 dans la table Capacité.
OK, je testerais ça lundi au bureau
Merci
"LiR" <LiR@discussions.microsoft.com> a écrit dans le message de news:
5825672E-6ED0-47A5-9C57-AB9774F54F6B@microsoft.com...
Alors c'est une clause WHERE qu'il te faut et non une clause HAVING :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form,
Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa)
FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm > Tab_Eff.codeForm
WHERE Tab_Capacite.capa<>0
GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
Je veux faire la somme des effectifs par formation, mais uniquement pour
les
lycées dont la capacité est différente de 0
Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle
prend aussi en compte les effectifs de la table effectifs où la capacité
est = 0 dans la table Capacité.
OK, je testerais ça lundi au bureau Merci "LiR" a écrit dans le message de news:
Alors c'est une clause WHERE qu'il te faut et non une clause HAVING :
SELECT Tab_Capacite.codeForm, Tab_Capacite.lib_form, Sum(Tab_Eff.Effectif), Sum(Tab_Capacite.capa) FROM Tab_Capacite LEFT JOIN Tab_Eff ON Tab_Capacite.codeForm > Tab_Eff.codeForm WHERE Tab_Capacite.capa<>0 GROUP BY Tab_Capacite.codeForm, Tab_Capacite.lib_form
Je veux faire la somme des effectifs par formation, mais uniquement pour les lycées dont la capacité est différente de 0 Ma requete telle qu'elle est me fait la somme de tous les effectifs, elle prend aussi en compte les effectifs de la table effectifs où la capacité est = 0 dans la table Capacité.
eric
Message : Impossible d'avoir une fonction d'agrégat dans la clause WHERE Sum(Tab_Capacite.capa)<>0 T'as oublié que j'avais une somme...
Message : Impossible d'avoir une fonction d'agrégat dans la clause
WHERE Sum(Tab_Capacite.capa)<>0
T'as oublié que j'avais une somme...