MySQL conditions plusieurs tables
Résolu/Fermé
hooli
Messages postés
85
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
1 décembre 2011
-
Modifié par hooli le 13/05/2011 à 15:43
Malekal_morte- Messages postés 180304 Date d'inscription mercredi 17 mai 2006 Statut Modérateur, Contributeur sécurité Dernière intervention 15 décembre 2020 - 16 mai 2011 à 14:23
Malekal_morte- Messages postés 180304 Date d'inscription mercredi 17 mai 2006 Statut Modérateur, Contributeur sécurité Dernière intervention 15 décembre 2020 - 16 mai 2011 à 14:23
A voir également:
- MySQL conditions plusieurs tables
- Tables des matières word - Guide
- Mysql community server - Télécharger - Bases de données
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Tables ascii - Guide
2 réponses
Malekal_morte-
Messages postés
180304
Date d'inscription
mercredi 17 mai 2006
Statut
Modérateur, Contributeur sécurité
Dernière intervention
15 décembre 2020
24 660
13 mai 2011 à 16:31
13 mai 2011 à 16:31
Salut,
Tes conditions ne sont pas assez restrictives (si j'ai bien compris ce que tu voulais faire), si tu veux avoir que le nom/prénom Jean Dupond et jouer sur les notes, faut ajouter des parenthèses :
SELECT AVG( fk_note ) AS note
FROM t_eleve
WHERE (nomele = 'Dupon'
AND prenomele = 'Jean')
AND
(fk_module = '4'
OR fk_module = '5'
OR fk_module = '6')
pour n'avoir que le nom et prénom jean dupond ET fk_module = (4 ou 5 ou 6)
Tes conditions ne sont pas assez restrictives (si j'ai bien compris ce que tu voulais faire), si tu veux avoir que le nom/prénom Jean Dupond et jouer sur les notes, faut ajouter des parenthèses :
SELECT AVG( fk_note ) AS note
FROM t_eleve
WHERE (nomele = 'Dupon'
AND prenomele = 'Jean')
AND
(fk_module = '4'
OR fk_module = '5'
OR fk_module = '6')
pour n'avoir que le nom et prénom jean dupond ET fk_module = (4 ou 5 ou 6)
Malekal_morte-
Messages postés
180304
Date d'inscription
mercredi 17 mai 2006
Statut
Modérateur, Contributeur sécurité
Dernière intervention
15 décembre 2020
24 660
Modifié par Malekal_morte- le 16/05/2011 à 15:10
Modifié par Malekal_morte- le 16/05/2011 à 15:10
Cool :)
Par contre ; tes ( ) dans la seconde expression ne servent à rien
AND (
t_module.genre = 'CFC'
)
les ( ) ne sont intéressantes que pour regrouper des conditions et comme la tu en as qu'une.
Sinon pour ta question, ça doit être possible à travers une jointure mais pour ça faut un id communs entre note et module afin de savoir dans quel module se trouve la note et là je vois pas trop comment c'est fichu ton truc.
C'est fait comment au niveau des tables notes et modules ?
Yes, no, maybe
I don't know
Can you repeat the question?
You're not the boss of me now
Par contre ; tes ( ) dans la seconde expression ne servent à rien
AND (
t_module.genre = 'CFC'
)
les ( ) ne sont intéressantes que pour regrouper des conditions et comme la tu en as qu'une.
Sinon pour ta question, ça doit être possible à travers une jointure mais pour ça faut un id communs entre note et module afin de savoir dans quel module se trouve la note et là je vois pas trop comment c'est fichu ton truc.
C'est fait comment au niveau des tables notes et modules ?
Yes, no, maybe
I don't know
Can you repeat the question?
You're not the boss of me now
16 mai 2011 à 09:30
Excellente journée à toi!
16 mai 2011 à 09:40
du type:
SELECT AVG( fk_note ) AS note
FROM t_eleve, t_module
WHERE (
nomele = 'Dupon'
AND prenomele = 'Jean'
)
AND (
t_module.genre = 'CFC'
)
Car j'ai essayer mais il me donne la moyenne de jean dupon dans n'importe quel genre, et non que de CFC.
Car avec les FK, c'est tout bon!
Merci de votre aide!
Bonne journée