Voici mon modèle, très très simplifié
Table "User"
- id
Table "Langues"
- user_id
- langue
Un utilisateur peut donc parler plusieurs langues. Avec une seule requête, je peux trouver les utilisateurs qui parle une langue spécifiée. Je peux aussi trouver les utilisateurs qui parle une langue OU une autre.
Maintenant, le problème, très bête et très méchant : je veux, avec une seule requête, trouver tous les utilisateurs qui parlent une langue ET une autre. Je souhaite en fait pouvoir chercher des utilisateurs parlant plusieurs langues en même temps, le nombre de langues recherchées étant indéterminé.
J'espérais trouver une requête simple pour cela, je suis peut-être passé à côté de quelque chose d'évident... frustration ^^; (Suis-je dans le cas de la division relationnelle expliqué ici : http://sqlpro.developpez.com/cours/divrelationnelle/ ?)
Je préfèrerais une requête "simple" car j'ai quelques contraintes. Je suis sous MySQL5, et je développe en Ruby on Rails qui implique certaines limitations si on veut profiter de certaines caractéristiques de l'ORM.
Suis-je dans un cas qui n'est trivial que sur le papier, ou est-ce que je suis passé à côté d'une solution "évidente" ?
Partager