Requete SQL entre 2 tables Many to Many

Macmanaman -  
 Jres -
Bonjour,
J'ai une question de SQL que je n'arrive pas à résoudre.
Voici un exemple.

J'ai une classe Parent avec un nom, un prénom, et une collection "enfants". La classe enfant mettons qu'il y a
juste un prénom.

Les deux classes sont liés par un lien "many to many". (1..n en français donc).

Voici le type de requete que je voudrais exécuter : "donne moi toutes les personnes qui ont des enfants nommés Jean et Marie". Attention Jean ET Marie. Donc les personnes doivent avoir au moins deux enfants : un Jean et une Marie.
Logiquement ça peut donc retourner plusieurs personnes.

Voilà j'ai simplifé mon application est bien plus complexe mais si j'arrive à le faire avec des personnes et des
enfants, je pourrai adapter ! J'utilise hibernate si y'en a qui connaissent. Mais je recherche la requete SQL,
j'adapterai ensuite.

Merci beaucoup pour votre aide !!
A voir également:

2 réponses

Jres
 
Bonjour,
Vous pouvez utiliser une requete du style :
Select p.* 
from parent p, enfant e1, enfant e2 
where p.nom = e1.nom
and p.nom = e2.nom
and e1.prenom='Jean'
and e2.prenom='Marie';

Cordialement,
Jres
0
Macmanaman
 
Malheureusement les parents et les enfants ne peuvent pas etre reliés par le nom de famille.
Ainsi un enfant Jean pourra appartenir à plusieurs parents différents.
Bon dans la réalité c'est pas bien réalisable mais c'est juste un exemple ...

Auriez vous une autre idée ?

Merci par avance.
0
Jres
 
Vous avez forcement un lien entre la table parent et la table enfant. J'ai utilisé "Nom" a titre informatif mais le principe de la requete reste valable :
La table parent doit être reliée deux fois à la table enfant.
A vous de faire le lien qui va bien.
Cordialement,
Jres
0