Ich habe zwei Tabellen MASTER_TABLE
und DOCUMENTS
Tabelle. Beide sind mit einer Spalte reference_id verwandt. DOCUMENTS
Tabelle hat Spalten doc_id
, doc_type
und doc_creation_date
Wir können für jeden doc_type
in DOCUMENTS
Tabelle mehr als einen Eintrag haben mit verschiedenen doc_creation_date
. Mein Ziel ist die doc_type
und doc_id
für jeden doc_type
in einer einzigen Zeile für den max doc_creation_date
Holen Sie mehrere Zeilenwerte als Spaltenwerte
MASTER_TABLE
REFERENCE_ID COLUMN1 COLUMN2
1 DATA1 DATA2
2 DATA3 DATA4
3 DATA5 DATA6
DOCUMENTS
REFERENCE_ID DOC_ID DOC_TYPE DOC_CREATION_DATE
1 11 PDF 16/06/2017
1 12 XLS 16/06/2017
1 13 TXT 16/06/2017
1 14 PDF 15/06/2017
1 15 XLS 15/06/2017
1 16 TXT 15/06/2017
2 17 PDF 16/06/2017
2 18 XLS 16/06/2017
2 19 TXT 16/06/2017
EXPECTED OUTPUT
REFERENCE_ID DOC_ID_PDF DOC_ID_XLS DOC_ID_TXT
1 11 12 13
2 17 18 19
Sind das möglich zu holen mit einer einzigen Abfrage zu erreichen. Ich habe versucht, mich selbst zu verbinden und zu drehen, aber rate mal, ich mache es falsch. Wir haben Oracle 11g und 12c Datenbanken, die wir verwenden können.
Was passiert, wenn 2 doc_ids dasselbe creation_date haben? z.B. doc_id 21 & 22 von ref_id = 1 und doc_type = pdf haben creation_date = 16-Jun-2017, welche sollte man abholen? – Debabrata
Eine Referenz-ID hat nie zwei IDs für dasselbe Datum. Sie unterscheiden sich mindestens in Sekunden Spalte, die ich aus Gründen der Einfachheit nicht zur Verfügung gestellt habe. Zu jedem Zeitpunkt existiert nur eine Dokument-ID für jeden Dokumenttyp für jede Referenz-ID. –
Dann wird die Antwort, die ich gepostet habe, dein Problem lösen – Debabrata