Bonjour,
J'ai créé une requête qui me renvoie le nombre total de pièces créées avec la valeur globale de celle-ci par mois.
Mon problème est le suivant.
Avec la 1ère requête:
Le résultat est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Select count(A.cd_item), sum(D.pr_externe) ,to_char(A.dttm_create,'MM') From item A, item_warehouse B, batch C, stock_mouvemt D Where A.cd_item = B.cd_item And A.cd_item = C.cd_item And C.cd_item = D.cd_item And C.cd_batch = D.cd_batch and A.dttm_create between to_date ('01/06/2010 00:00:01','DD/MM/YYYY HH24:MI:SS') and to_date ('30/06/2010 23:59:59','DD/MM/YYYY HH24:MI:SS') and A.bo_cancel_item =0 and B.cd_warehouse='M-PRIN' and D.cd_mvt_type = 'E4' group by to_char(A.dttm_create,'MM') Order by 3
Avec la seconde requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SQL> / COUNT(A.CD_ITEM) SUM(D.PR_EXTERNE) TO ---------------- ----------------- -- 231 50546,31 06
Le résultat est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Select count(A.cd_item), sum(D.pr_externe) ,to_char(A.dttm_create,'MM') From item A, item_warehouse B, batch C, stock_mouvemt D Where A.cd_item = B.cd_item And A.cd_item = C.cd_item And C.cd_item = D.cd_item And C.cd_batch = D.cd_batch and A.dttm_create between to_date ('31/05/2010 23:59:59','DD/MM/YYYY HH24:MI:SS') and to_date ('01/07/2010 00:00:01','DD/MM/YYYY HH24:MI:SS') and A.bo_cancel_item =0 and B.cd_warehouse='M-PRIN' and D.cd_mvt_type = 'E4' group by to_char(A.dttm_create,'MM') Order by 3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 COUNT(A.CD_ITEM) SUM(D.PR_EXTERNE) TO ---------------- ----------------- -- 251 50841,31 06
- Quelqu'un pourrait-il m'expliquer pourquoi cette différence de nombre de pièces créées et de valeurs globales, puisque entre les deux requêtes (au niveau des dates), il n'y a que quelques secondes d'écart ?
- Laquelle des deux requêtes dois-je prendre ?
Merci pour vos réponses.
Cordialement.
Partager