Problème de select sur deux table dont une une avec group by

Résolu
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006 - 13 oct. 2005 à 14:15
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006 - 14 oct. 2005 à 10:34
Bonjour,

J'ai deux tables :

1. log_data_infra qui enregistre ce que l'utilisateur user_incimii a fait comme opération mode_ce sur la base de données.

2. ib_users qui reprend les noms et prénoms (first_name et last_name) de chaque utilisateur user_name



Vous l'aurez compris : user_incimii et user_name sont identiques et
servent à lier les tables pour connaître le nom et le prénom des
utilisateurs et les opérations qu'ils effectuent.



Je n'ai pas de problème lorsque je liste toute la table log_data_infra pour une certaine opération mode_ce = ...

Cependant, lorsque je désire compter, par utilisateur user_incimii, le nombre d'opération mode_ce = ... qu'il a fait et lier le tout à ses noms et prénoms, cela se plante.



Voici la requête que j'essaie :



select count(log_data_infra.id), log_data_infra.user_incimii, ib_users.first_name, ib_users.last_name

from log_data_infra, ib_users

where log_data_infra.mode_ce 8 and ib_users.user_name log_data_infra.user_incimii

group by log_data_infra.user_incimii

order by ib_users.last_name, ib_users.first_name



Merci de votre aide.

PS : J'utilise IB7.5

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.

4 réponses

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
13 oct. 2005 à 16:25
salut

je pense que ta requete est presque bonne, il suffit juste de corriger le group by, en mettant tous les champs a agreger

GROUP BY log_data_infra.user_incimii, ib_users.first_name, ib_users.last_name

sinon, dis nous quelle est ton erreur, ca nous aidera pour trouver une solution a ton probleme :)
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 oct. 2005 à 15:31
salut



Pour ta requete

count(log_data_infra.id), max(log_data_infra.user_incimii), max(ib_users.first_name),max( ib_users.last_name)



un max permet d'agreger les champ present ou pas dans le group by

Pour les chiffres ont fait souvent la somme

SUM(monchamp) car MAX(n'est pas trop adaptée)





Voila
0
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
14 oct. 2005 à 07:45
Salut nhervagault et aieeeuuuuu,



L'erreur renvoyée est : invalid column reference.

Malheureusement, vos solutions ou un mix des deux ne provoquent pas d'erreur mais la requête renvoie ... du vide. Bref

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
14 oct. 2005 à 10:34
J'ai besoin de repos ou je dois arrêter de boire



La solution de aieeeuuuuu est la bonne, c'est moi qui m'esquinte a vouloir faire une requête sur une table vide


Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
Rejoignez-nous