Bonjour,
J'ai une demande que je ne sais pas comment aborder en SQL.
Je peux l'exécuter en SQL 2008 ou en SQL 2012 si besoin.
J'ai une table, nommons là Table1, qui contient une liste d'usager et un numéro de document.
J'ai besoin de produire un tableau indiquant le nombre de document en commun pour chacune des personnes. Un résultat comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Custodian NoDocument Jacinthe 14108 Philippe 14108 Philippe 14109 Philippe 14110 Yohan 14108 Yohan 14110
Ce tableau signifie que Jacinthe et Philippe ont 1 document en commun (le numéro 14108). Philippe et Yohan ont 2 documents en commun (les numéros 14108 et 14110). L'intersection pour une même personne indique seulement le nombre de document qu'il possède.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Jacinthe Philippe Yohan Jacinthe 1 1 1 Philippe 1 3 2 Yohan 1 2 2
Je serais capable de produire un résultat avec deux curseurs imbriquées. Mais surement qu'une solution plus propre doit exister avec la récursivité, mais je maitrise moins bien ces concepts.
Avez vous une idée de piste de solution à me fournir pour m'aider à produire un résultat?
Merci !
Partager