Tableau pour croiser des données dans une table
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.
Code:
1 2 3 4 5 6 7
| Custodian NoDocument
Jacinthe 14108
Philippe 14108
Philippe 14109
Philippe 14110
Yohan 14108
Yohan 14110 |
J'ai besoin de produire un tableau indiquant le nombre de document en commun pour chacune des personnes. Un résultat comme ceci :
Code:
1 2 3 4
| Jacinthe Philippe Yohan
Jacinthe 1 1 1
Philippe 1 3 2
Yohan 1 2 2 |
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.
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 ! :fleur: