Wählen Sie die Zeilen mit dem aktuellen timestamp mit bestimmten Kriterien und zusätzliche Tabellen SQL
Ich hatte gehofft, jemand könnte mir helfen bei der Lösung dieses Problems.
Habe ich 3 Tabellen.
Jede Tabelle hat eine ID, die ich verwenden können, um alle von Ihnen zusammen. Diese ID ' s sind nicht die gleichen, aber Sie arbeiten, und eine Verbindung zu jedem anderen in Ordnung.
Was ich brauche, zu bekommen, ist die LETZTE update-Datum (timestamp) für bestimmte Produkt-Nummer (könnte mehr als ein Produkt), das war status.
Hier sind, wie die Tabellen Aussehen (Sie sind viel komplexer, aber ich vereinfachte)
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))
Ich versuchte es mehrere verschiedene Möglichkeiten, und nach der Suche für eine Weile auf das internet, der nächste, den ich bekommen konnte, war dies:
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
Und es wieder unten, das ist richtig, aber wenn mehrere Produkt-zahlen sind eingefügt, die es noch gibt Wert für nur ein Produkt (das ist wegen der row number=1
wahrscheinlich)
PRODUCT_NUMBER DATE_UPDATED STATUS
A555 29/06/2011 07:51:24 30169
Dank
InformationsquelleAutor Greg | 2011-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies sollte es tun:
Ahh, ich glaube ich missverstanden Ihre Daten.. Versuchen Sie dies:
Es schien nicht zu funktionieren für mich, es gab mir alle Aktualisierten Zeiten her, dass Produkt.
Ich habe aktualisiert mein orignal-Tabellen und sql für was haben wir eigentlich in der Datenbank, wie ich immer war, vermischt sich mit Ihnen, und es dauerte eine Weile, um es umzubenennen alle!
Hey wie es aussieht ist Es die Arbeit, es deffinteley kommt zurück, mit mehr Produkt-codes, wenn ich die Suche, indem Sie mehr als ein Produkt-code. Ich werde es testen morgen, und siehe! Vielen Dank dafür!!!
Hey Stevie, oben arbeitet, so wie ich es wollte! Ich danke Ihnen sehr für Ihre Hilfe! viel apprecieted!!!!!!
InformationsquelleAutor StevieG
Wäre ein guter Fall für analytische Funktionen
Ich bin froh, dass. Tut nicht weh, mehr als auf dem richtigen Weg, es zu tun, entweder. 🙂
Absolut, ich werde weiterhin überlegen, ich bin gerade ein bisschen unter Druck gesetzt, nun durch die Zeit zu bekommen, was ich brauche! Danke!
InformationsquelleAutor pilcrow
Versuchen Sie dies:
verwenden Sie SQL Server, richtig?
ist meine Abfrage falsch?
Ich Teste es jetzt!
Sieht nicht, wie seine Arbeit, als ich bin immer fehlende expression-Fehler.
InformationsquelleAutor Marco