Bonjour,
J'ai 2 tables:
- t_code-fils(numauto*, cim, ....)
- t_code-pere(cim*,rub,...)
Une requête sur chaque table me permets d'avoir:
- Pour la table t_code-fils: j'obtiens cim et son effectif. C'est à dire que le nombre de fois où le code-fils apparait dans mes données (table code-fils entre 300 000 et 1 000 000 de lignes)
cim | effectif par cim|
-----|-----------------|
A020 | 5
A021 | 1
A045 | 3
A047 | 21
A048 | 5
A049 |
Le code cim est issu d'une hiérarchie et son code-père est composé de ses 3 premiers caractères. Le code-père se trouve dans la table t_pere (3000 lignes)
Un code-père peut avoir plusieurs code-fils. La requete sur t_code-pere permet de savoir combien ce code-père a de code-fils.
- Pour la table t_code-pere,
rub | effectif par rub|
-----|-------------- |
A02 | 2
A04 | 4
La requête que je cherche, devrait me permettre d'obtenir:
cim | effectif par cim|rub|effectif par rub|
-----|-----------------|---|----------------|
A020 | 5 |A02| 2 |
A021 | 1 |A02| 2 |
--------------------------------------------|
A045 | 3 |A04| 4 |
A047 | 21 |A04| 4 |
A048 | 5 |A04| 4 |
A049 | 0 |A04| 4 |
J'ai essayé plusieurs types de requêtes: imbriquées, left join... mais je n'arrive pas à obtenir ce résultat.
J'ai réussi en passant par un 2 tableaux de variables et en faisant 2 boucles imbriquées mais la méthode ne me convient pas.
Je pense qu'une solution sql existe mais je ne sais laquelle.
Pouvez vous m'aider ?
Par avance merci
Partager