Sélectionner des lignes avec le dernier horodatage à l'aide de certains critères et d'autres tables SQL

J'espérais que quelqu'un pourrait m'aider dans la résolution de ce problème.

J'ai 3 tables.

Chaque table possède un ID que je peux utiliser pour connecter tous ensemble. Ces ID sont pas les mêmes, mais de leur travail et de se connecter les uns aux autres bien.

Ce dont j'ai besoin pour obtenir la DERNIÈRE mise à jour date (timestamp) pour certains de produit numéro de produit (peut être plus que d'un seul produit) quel était le statut pour elle.

Voici comment les tables ressemblent (ils sont beaucoup plus complexes, mais je simplifiés)

mercury.cs_batch_event
PRODUCT_ID (VARCHAR2(100 CHAR))
CBL_REQUEST_ID (VARCHAR2(12 CHAR))

mercury.cs_status_srch
CBL_REQUEST_ID (VARCHAR2(12 CHAR))
LOG_ID  (VARCHAR2(12 CHAR))
STATUS_REF_ID (NUMBER(8,0))

mercury.edit_log
ELOG_ID (VARCHAR2(12 CHAR))
ON_DATE_TIME (TIMESTAMP(6))

J'ai essayé de le faire de plusieurs façons différentes, et après avoir cherché pendant un certain temps sur l'internet, plus proche que je pouvais obtenir dans ce qui s':

SELECT * 
FROM (SELECT cbl.product_id, src.status_ref_id,
             TO_CHAR(elog.on_date_time, 'dd/mm/yyyy hh24:mi:ss') date_updated
      FROM mercury.cs_batch_event cbl,
           mercury.cs_status_srch src, 
           mercury.edit_log elog
      WHERE cbl.product_id IN ('A555', 'B555')
        AND cbl.cbl_request_id = src.cbl_request_id
        AND src.log_id = elog.elog_id
      ORDER BY elog.on_date_time DESC)
WHERE rownum = 1

Et il est revenu en dessous de ce qui est correct, mais lorsque plusieurs numéros de produit sont insérés elle renvoie toujours la valeur pour un seul produit (Qui est en raison de la row number=1 probablement)

PRODUCT_NUMBER  DATE_UPDATED        STATUS
A555            29/06/2011 07:51:24 30169

Grâce

  • Okay, peut-on obtenir des exemples de données de départ pour cela? L'ensemble des réponses est potentiellement important, car vous pourriez avoir de nombreuses de nombreuses relations, vous n'avez rien dit à propos de nous
InformationsquelleAutor Greg | 2011-10-20