Tri par date et garder que les dernieres

metalcoder Messages postés 193 Date d'inscription jeudi 14 février 2002 Statut Membre Dernière intervention 25 mars 2011 - 27 sept. 2006 à 11:31
cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 - 27 sept. 2006 à 21:17
Bonjour,

j'ai une requete oracle dans un projet informatique et j'aimerais ameliorer sa vitesse en supprimant des dates.

la requete me sort toutes les dates depuis le debut et je voudrais garder toutes les lignes avec la derniere date enregistrée.

voici ma requete

SELECT

   SUM
(mmt
.TRANSACTION_QUANTITY
)
AS Total
,
   mmt
.CREATION_DATE
AS DateCreation
,
   mmt
.SUBINVENTORY_CODE

FROM
   apps
.MTL_MATERIAL_TRANSACTIONS mmt
,
   apps
.mtl_system_items_b msib

WHERE msib
.SEGMENT1
IN
('3011001')
AND mmt
.SUBINVENTORY_CODE
IN
('Principal',
'Dérogation',
'Expe')
AND mmt
.ORGANIZATION_ID
='147'
AND mmt
.INVENTORY_ITEM_ID
=msib
.INVENTORY_ITEM_ID

AND mmt
.TRANSFER_SUBINVENTORY
='EXPE'
AND msib
.ORGANIZATION_ID
='147'
GROUP
BY
   mmt
.CREATION_DATE
,
   mmt
.SUBINVENTORY_CODE

ORDER
BY
   mmt
.CREATION_DATE
DESC

la requete me sort ceci

1 : -8   / 26/09/2006 9:23 / Principal
2 : -12 / 26/09/2006 9:20 / Principal
3 : -6  /  25/09/2006 11:40 / Principal
4 : -2 etc...

moi je voudrais que ma requete ne garde que la ligne 1 et 2 .

merci d'avance
 

1 réponse

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
27 sept. 2006 à 21:17
A mon avis soit en ajoutant un critère dans le WHERE sur CREATION_DATE ou alors en faisant un TOP x sur la requête

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
0
Rejoignez-nous