Bonjour

Delphi7 / Firebird 1.5 embedded

Pour un service d’édition de contrat, J’ai la requête (Requête de toute les composition/jour) ci-dessous qui me ramène le nombre de contrats("SUM") expédié tous les jours,
ces contrats(500 modèles différents) ont des pièces annexes, des pubs, des enveloppes de retours jointes à chaque contrat ,
Avec la requête (Requête de toute les composition/jour) de dessous, je regroupe des contrats différents mais qui sont composé des même pièces jointe :

Exemple de la ligne 1 :
222 contrats(le champs sum), avec les pièces N°(le champs composition) : 140912, 140924 et 142534
Exemple de la ligne 2 :
"22" contrats, avec les pièces N° 140912 + 140924 + 142538
Exemple de la ligne 3 :
5081 contrats, avec les pièces 3 x ER13 ( trois fois Enveloppe Retour format 13)

************** Requête de toute les composition/jour ******************
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT  sum(PROD.DOCS) , ANNEXE.COMPO  as composition
FROM  PROD left outer join MODELE left outer join  ANNEXE
ON PROD.PREIMP = MODELE.PREIMP
ON PROD.ANN = ANNEXE.ANN
where PROD.JOUR > '04/02/2009'
group by ANNEXE.COMPO
Resultat :

"SUM","COMPOSITION"
"222","140912 + 140924 + 142534
"22","140912 + 140924 + 142538
"294","140924
"91","142227 + ER3
"505","142281 + 140924
"488","142312
"302","142534
"34","142538
"27","142541 ER1AB
"87","142542
"1","142619 + Env. Changement Domiciliation
"971","3 X ER13 + 142762
"5081","3 x ER13
"62","B38 142517 + CG 760 120 + 142200 + ER3
"70","C83 + ER3
"3034","EP142821 + 140912 + 140905 + 142723
"3163","EP142822 + 142669
"1408", "3 X ER13 + 142762
"533","ER1 + 140924
"1","ER1 + 142670 + 140924
"166","ER1 + 142670 0807 + 140924
"24161","ER13
"220","ER13 + 141747 + Enveloppe porteuse EP35
"172","ER3
"45","ER3 + 140924
"380","ER3 + 760120
"19","ER3 + Conditions générales
"34","ER3 142406
"1096","ER3AB +142716 + FDP142679
"5409","Enveloppe porteuse EPR1
"6146","Enveloppe porteuse EPR1 + 142824
Avec cette requête j’ ai les compositions possible des paquets d’annexes (81 à ce jour) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
select distinct(compo)  from ANNEXE
GROUP BY COMPO
ER3AB + 142716 + FDP142679
EP142821 + 140912 + 140905 + 142723
140912 + 140924 + 142534
140912 + 140924 + 142538
Et les 77 autres
…..

Avec cette requête, je récupère la somme des contrats qui ont l’annexe 142824 depuis le '04/02/2009'
Donc la somme d’annexe « 142824 » expédié , ET c’est ce qui est important pour moi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT  sum(PROD.DOCS) --, ANNEXE.COMPO  as composition
FROM  PROD left outer join MODELE left outer join  ANNEXE
ON PROD.PREIMP = MODELE.PREIMP
ON PROD.ANN = ANNEXE.ANN
where ANNEXE.COMPO like '%140924%
AND PROD.JOUR > '04/02/2009''
Cette table ANNEXE m’a été livré sous la forme d’un fichier tabulé, donc rien de défini,

Ce que je cherche à faire :

1/ Ordonner ce fichier plat dans une table (140912 + 140924 + 142534……) ?
2/ Avoir la somme pour chaque annexes, dans une table ou dans une vue ?
Ou comment avoir la somme avec 140912, 140924, 142534 et ainsi de suite pour toutes les annexes ?

J’ai pas trop idée et j’en suis au début, donc je fais ce que je veux,

Merci de votre Aide,

Henri