Disons que j'ai un tableau pour une nomenclature qui ressemble à ce qui suit :
+----------+-------------+
| ParentNo | ComponentNo |
+----------+-------------+
| AAA | 101 |
| AAA | 102 |
| BBB | 201 |
| BBB | 202 |
| CCC | 101 |
| CCC | 201 |
| CCC | 301 |
| DDD | 101 |
| DDD | 102 |
+----------+-------------+
Je voudrais écrire une requête qui trouve cualquier des numéros de parents qui partagent des ensembles de composants identiques. Je suis flexible sur le résultat, mais mon idée initiale est qu'il serait similaire à :
+----------+---------+
| ParentNo | Matched |
+----------+---------+
| AAA | DDD |
| DDD | AAA |
+----------+---------+
Il existe plusieurs façons de trouver des enregistrements individuels qui partagent la même valeur pour un ou plusieurs champs, comme indiqué dans la section "Recherche d'enregistrements". Recherche de valeurs dupliquées dans une table SQL . Mais je ne veux renvoyer un résultat que lorsque todo les composants de deux parents différents correspondent.
La solution la plus proche que j'ai vue est la suivante SQL sélectionne les lignes dont la valeur d'une colonne est commune à une autre colonne de critère . Cela ne répond pas à mon besoin car il faut fournir un ensemble de numéros de composants spécifiques. J'essaie d'éviter de saisir manuellement les numéros de composants pour chaque numéro de parent individuel (les ensembles de données avec lesquels je travaille contiennent des dizaines de millions d'enregistrements).
J'ai l'impression qu'une forme de requête récursive pourrait être appropriée dans cette situation, mais mes tentatives n'ont pas donné lieu à des requêtes qui semblent être sur la bonne voie.