Auto-jointure, bonne idée ?
Bonjour
j'aurai besoin d'aide pour écrire une requête SQL. Je ne vois pas trop comment la faire
Tout d'abord voici un exemple de données :
Code:
1 2 3 4 5 6 7
| id from_d to_d fk_id
1 a b 1
2 b c 2
3 a b 2
4 c d 1
5 c d 1
6 b c 3 |
Mon but est d'obtenir tout les lignes ayant from_d + to_d qui se répète
et qui ont au moins une fois fk_id = 1 (donc id = 1, 3, 4 et 5) sans doublons
J'ai fais cette requête :
Code:
1 2 3 4
| select distinct from_d, to_d
from maTable m1 INNER JOIN maTable m2
ON m1.from_d = m2.from_d AND m1.to_d = m2.to_d AND m1.id <> m2.id
WHERE m1.fk_id = 1 |
cette requête me parait pas une bonne manière de faire.
Quel votre avis ?