Ich habe Schwierigkeiten beim Schreiben einer Stored Procedure, die eine Liste von Studenten mit ihren assoziativen Marken abfragen wird.SQL: Wählen Sie TOP N Markierungen pro Benutzer (in einer Liste von Benutzern)
eine Liste der Students abrufen - triviale die fünf Noten Suchen pro Schüler - trivial ... SELECT TOP (5) * WHERE StudentID = X
diese beiden kombinierend, ich ein wenig verwirrt bin.
Ich mag die gespeicherte Prozedur zwei Tabellen zurück:
- erste Tabelle, die Studenten durch ein Kriterium
- Zweite Tabelle ist: eine Liste der Typen (jeweils 5 pro Schüler in der ersten Tabelle)
Zweite Tabelle ist, wenn es schwierig ist. Ich kann alle Noten pro Schüler in First Table bekommen, aber nicht sicher, wie ich es auf Top 5 begrenzen kann.
Warum sollte ich nicht mehr als ein Result Set zurückgeben? Oder sollte es etwas wie ein Stored Proc sein, der zwei andere gespeicherte Procs aufruft ... Ich will nur die Logik verstehen .. :) – TimLeung
A. Weil, während es technisch möglich ist, ist es ein bisschen ungewöhnlich und es macht Es ist schwer für jemanden zu verstehen, der sich Ihren Code ansieht. B. Weil andere Datenbanken (Orcale) es nicht können. – cdonner