Ich brauche einen Bericht auf der Grundlage dieser Tabellenstruktur zu erstellen:SQL Server Outer Join?
Um die Anforderung zu erfüllen ich eine SQL Server-Ansicht erstellt die folgenden Kriterien: es
SELECT doc.object_name as doc_name,
pack.object_name as pack_name,
pack.r_creation_date as pack_date
FROM vale_eng_document_sp doc
left outer join dm_relation_s rel on doc.r_object_id = rel.parent_id
left outer join vale_eng_package_sp pack on rel.child_id = pack.r_object_id
WHERE
doc.r_object_type='vale_eng_document'
and doc.i_is_deleted = 0
and (pack.i_is_deleted IS NULL or pack.i_is_deleted = 0)
and (rel.relation_name IS NULL or rel.relation_name='AO Project Package')
Für einige Werte zeigt 2 mal das gleiche Dokument Wert wie folgt:
DOCUMENT1 PACKAGE1 01/01/2016 00:00:00
DOCUMENT1 PACKAGE2 01/01/2017 00:00:00
DOCUMENT2 NULL NULL
Es geschieht, weil die gleiche documen t bezieht sich auf zwei oder mehr Pakete. Wenn diese Situation eintritt, möchte der Endbenutzer nur das neueste Paket basierend auf dem Attribut r_creation_date
anzeigen.
So wollen sie dieses Ergebnis zeigen:
DOCUMENT1 PACKAGE2 01/01/2017 00:00:00
DOCUMENT2 NULL NULL
Welche Veränderungen brauche ich in meiner Sicht machen diese Anforderung zu erfüllen?
Ich denke, die Partition 'BY doc.r_object_id' der linken Seite des' JOIN' weil ein doc mehrere Pakete haben –
Einverstanden, korrigierte Antwort. Vielen Dank! –