Mach einfach die Semikola in den inneren Abfragen raus und vergiss nicht N durch ein Literal zu ersetzen.
Mach einfach die Semikola in den inneren Abfragen raus und vergiss nicht N durch ein Literal zu ersetzen.
Er gibt zwar nun ein Ergebnis aus aber nicht das richtige.
Das Problem ist, dass einige Zahlen, in der "ects" Spalte, mehrmals vorkommen und mit select distinct klappt es auch nicht.
Ausserdem soll ich ja alles ausgeben, was zur Spalte gehört und nicht nur die Zahl alleine
Ich verstehe nicht, wieso es das falsche Ergebnis bei dir ausgeben soll. Es gibt genau die Zeile aus, die in der geordneten Tabelle an der Stelle N vorkommt. Ob da mehrere Zeilen mit einer ECTS-Zahl gibt, oder nicht, spielt keine Rolle und welche von denen nun gewählt wird, hängt von dem Sortieralgorithmus der Oracle-Datenbank ab, sowie von ihren ursprünglichen Positionen.
Deswegen habe ich auch ursprünglich col1, col2, ... geschrieben, du musst also alle Kolumnen, die du angezeigt haben willst, explizit angeben. Unbequem, aber ich kenne keinen anderen Weg.
Edit: Achso, du wolltest also doch alle Vorkommnisse haben, so wie in Irians Ansatz, sowie nur distinkte ECTS-Zahlen in den inneren Auswahlen berücksichtigen.
Geändert von Kyuu (21.11.2009 um 20:54 Uhr)
So, habs nun endlich gelöst
Danke an alle ^^
Hier die Lösung: