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:
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
Le résultat est le suivant :
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
Avec la seconde requête :
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
Le résultat est:
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.