Construction d'une requete sur plusieurs tables
Posté : 21 janv. 2010, 16:25
Bonjour a tous,
Encore une fois je fais appelle à vos lumières svp, car malgré mes (médiocres) connaissances et mes recherches sur le net, je n'arrive pas à construire une requête.
J'ai une base construite sur le modèle suivant :
Table 1 => Clé 1, données...
Table 2 => Clé 2, données...
Table 3 => Clé 3, Clé 1, Clé 2, données
En toute logique les entrées de la table 3 sont liées par leurs clés respectives aux tables 1 et 2 (c'est a dire une clé 1 et une clé 2 pour chaque entrée 3).
Donc pour une même entrée dans la table 1, je peux avoir plusieurs entrées associées dans la table 3.
La requete que je souhaite faire consiste a chercher quelle entrée de la table 1 est associée aux entrées de la table 3 en fonction des clé 2 que je spécifie. Ce que je souhaite c'est que la requete ne me renvoie que les entrées satisfaisant à toutes les conditions spécifiées.
Pour être plus précis si je spécifie les 'clés 2' XX et YY, alors je ne veux que les entrées de la table 1 associées à une entrée de la table 3 XX ET et une entrée de la table 3 YY. Je ne souhaite pas de OU.
Voici donc ce que j'ai déjà essayé :
mais le problème est que ceci me donne toutes les entrées ayant XX ou YY or je souhaite n'avoir que celle qui satisfont aux deux conditions soit XX et YY
(bien évidemment , en remplacant OR par AND, ça ne marche pas)
J'espère avoir été assez clair dans mes explications.
Merci de votre temps.
Encore une fois je fais appelle à vos lumières svp, car malgré mes (médiocres) connaissances et mes recherches sur le net, je n'arrive pas à construire une requête.
J'ai une base construite sur le modèle suivant :
Table 1 => Clé 1, données...
Table 2 => Clé 2, données...
Table 3 => Clé 3, Clé 1, Clé 2, données
En toute logique les entrées de la table 3 sont liées par leurs clés respectives aux tables 1 et 2 (c'est a dire une clé 1 et une clé 2 pour chaque entrée 3).
Donc pour une même entrée dans la table 1, je peux avoir plusieurs entrées associées dans la table 3.
La requete que je souhaite faire consiste a chercher quelle entrée de la table 1 est associée aux entrées de la table 3 en fonction des clé 2 que je spécifie. Ce que je souhaite c'est que la requete ne me renvoie que les entrées satisfaisant à toutes les conditions spécifiées.
Pour être plus précis si je spécifie les 'clés 2' XX et YY, alors je ne veux que les entrées de la table 1 associées à une entrée de la table 3 XX ET et une entrée de la table 3 YY. Je ne souhaite pas de OU.
Voici donc ce que j'ai déjà essayé :
Code : Tout sélectionner
SELECT Table1.* FROM table 1
JOIN table3 ON (table1.clé1= table3.clé3 AND (table3.clé2 = 'XX' OR table3.clé2 = 'YY' ));
(bien évidemment , en remplacant OR par AND, ça ne marche pas)
J'espère avoir été assez clair dans mes explications.
Merci de votre temps.