Kombinieren Sie mehrere Zeilen in eine Zeile, Oracle

Ich arbeite mit einer Datenbank, die erstellt werden, in Oracle und in eine GIS-software, die durch SDE. Einer meiner colleuges wird, um einige Statistiken aus dieser Datenbank und ich bin nicht fähig, eine vernünftige SQL-Abfrage, die zum abrufen der Daten.

Ich habe zwei Tabellen, eine mit Eintragungen und eine mit registrationdetails. Es ist ein eins-zu-viele-Beziehung mit der Registrierung können ein oder mehrere details, die angeschlossen sind (keine maximale Anzahl).

  1. Tabelle: Registrierung
RegistrationID Datum TotLenght 
1 01.01.2010 5 
2 01.02.2010 15 
3 05.02.2009 10 

2.Tabelle: RegistrationDetail

DetailID RegistrationID Besitzer Typ Abstand 
1 1 TD UB 1,5 
2 1 AB 2 
3 1 TD UQ 4 
4 2 AB UQ 13 
5 2 AB UR 13,1 
6 3 TD 5 

Möchte ich die daraus resultierende Auswahl, um so etwas wie dieses:

RegistrationID Datum TotLenght DetailID RegistrationID Besitzer Typ Abstand DetailID RegistrationID Besitzer Typ Abstand DetailID RegistrationID Besitzer Typ Abstand 
1 01.01.2010 5 1 1 TD UB 1,5 2 1 AB 2 3 1 TD UQ 4 
2 01.02.2010 15 4 2 AB UQ 13 5 2 AB UR 13,1 
3 05.02.2009 10 6 3 TD 5 

Mit einem normalen join, bekomme ich eine Zeile pro Anmeldung und detail. Kann mir jemand helfen mit diesem? Ich habe keine administrator-Rechte für die Datenbank, also kann ich nicht erstellen Sie keine Tabellen oder Variablen. Wenn es möglich ist, könnte ich kopieren Sie die Tabellen in Access.

Dies ist in der Regel eine schlechte Idee. Vielleicht einige details auf, wie Sie beabsichtigen, verbrauchen diese Ausgabe helfen könnte jemand empfehlen, eine alternative Lösung.
Der Grund, warum das keine gute Idee ist, dass SQL eine Sprache ist, soll für relationale Datenbanken, das es immer um Beziehungen und führen in Beziehungen. Ihre gewünschte Leistung ist nicht einer Beziehung. siehe: en.wikipedia.org/wiki/Relational_model

InformationsquelleAutor Torbjørn | 2010-04-22

Schreibe einen Kommentar