Bonjour tous,

Mon problème est le suivant :

Je dispose :
* d'une table FAMILLE de structure :
- Nom_Famille : char (25)
- id_Famille : int

* d'une table PERSONNE de structure :
- Nom_Personne : char (25)
- id_Personne : int

* d'une table RELATION qui met en rapport les Personnes et les Familles. Sachant qu'une personne peut appartenir à plusieurs familles
Structure :
- id_Personne : int
- id_Famille : int
- Duree : int

Le champ "Duree" indique depuis combien de temps la personne est dans la famille.

Je voudrais formuler une requête SQL de base qui permette de retrouver, pour un couple de personnes données, tous les enregistrements de la table RELATION, où le couple donné appartient à la même famille et où la différence de "Duree" est inférieure à une valeur donnée.

Exemple :

Soit le couple ('PIERRE', 'JEAN') et la durée = 10

Il faut trouver tous les couples d'enregistrements de la table RELATION pour lesquelles les personnes impliquées sont PIERRE et JEAN, appartenant à la même famille (id_Famille identique) et la différence du durée est inférieur à 5 (durée_JEAN - durée_PIERRE) < 5 ou bien (durée_PIERRE - durée_JEAN) < 5.
En fait cela signifie qu'en valeur absolue la différence doit être inférieur à 5.

Si réponse possible pour 2 personnes, peut-on généraliser la requête pour un n-uplet de n personnes (3, 4 ...n) ?.

Merci des contribs.

Tunka